{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "数据预处理以及查看\n",
    "1.单从列名看的话，时间应该是非常重要的属性，时间包括实时事件，还有就是上下班！！！\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% \n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "outputs": [],
   "source": [
    "dpath = '/home/lsieens/PycharmProjects/homeworkpy/Homework_py/CTR/'\n",
    "#以字符串形式读入，失败。describe不清晰\n",
    "#train_df = pd.read_csv(dpath + 'train.csv',nrows = 10000000,dtype=object)\n",
    "#train_df = pd.read_csv(dpath + 'train.csv',nrows = 10000000)\n",
    "#train_df = pd.read_csv(dpath + 'train_sub.csv')\n",
    "#先使用小数据把能想到的先写出来\n",
    "#train_df = pd.read_csv('train.csv',nrows = 1000000,dtype=object)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [],
   "source": [
    "train_df = pd.read_csv('train.csv',nrows = 10000000)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "outputs": [
    {
     "data": {
      "text/plain": "                     id click      hour    C1 banner_pos   site_id  \\\n0   1000009418151094273     0  14102100  1005          0  1fbe01fe   \n1  10000169349117863715     0  14102100  1005          0  1fbe01fe   \n2  10000371904215119486     0  14102100  1005          0  1fbe01fe   \n3  10000640724480838376     0  14102100  1005          0  1fbe01fe   \n4  10000679056417042096     0  14102100  1005          1  fe8cc448   \n\n  site_domain site_category    app_id app_domain  ... device_type  \\\n0    f3845767      28905ebd  ecad2386   7801e8d9  ...           1   \n1    f3845767      28905ebd  ecad2386   7801e8d9  ...           1   \n2    f3845767      28905ebd  ecad2386   7801e8d9  ...           1   \n3    f3845767      28905ebd  ecad2386   7801e8d9  ...           1   \n4    9166c161      0569f928  ecad2386   7801e8d9  ...           1   \n\n  device_conn_type    C14  C15 C16   C17 C18 C19     C20  C21  \n0                2  15706  320  50  1722   0  35      -1   79  \n1                0  15704  320  50  1722   0  35  100084   79  \n2                0  15704  320  50  1722   0  35  100084   79  \n3                0  15706  320  50  1722   0  35  100084   79  \n4                0  18993  320  50  2161   0  35      -1  157  \n\n[5 rows x 24 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>id</th>\n      <th>click</th>\n      <th>hour</th>\n      <th>C1</th>\n      <th>banner_pos</th>\n      <th>site_id</th>\n      <th>site_domain</th>\n      <th>site_category</th>\n      <th>app_id</th>\n      <th>app_domain</th>\n      <th>...</th>\n      <th>device_type</th>\n      <th>device_conn_type</th>\n      <th>C14</th>\n      <th>C15</th>\n      <th>C16</th>\n      <th>C17</th>\n      <th>C18</th>\n      <th>C19</th>\n      <th>C20</th>\n      <th>C21</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1000009418151094273</td>\n      <td>0</td>\n      <td>14102100</td>\n      <td>1005</td>\n      <td>0</td>\n      <td>1fbe01fe</td>\n      <td>f3845767</td>\n      <td>28905ebd</td>\n      <td>ecad2386</td>\n      <td>7801e8d9</td>\n      <td>...</td>\n      <td>1</td>\n      <td>2</td>\n      <td>15706</td>\n      <td>320</td>\n      <td>50</td>\n      <td>1722</td>\n      <td>0</td>\n      <td>35</td>\n      <td>-1</td>\n      <td>79</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>10000169349117863715</td>\n      <td>0</td>\n      <td>14102100</td>\n      <td>1005</td>\n      <td>0</td>\n      <td>1fbe01fe</td>\n      <td>f3845767</td>\n      <td>28905ebd</td>\n      <td>ecad2386</td>\n      <td>7801e8d9</td>\n      <td>...</td>\n      <td>1</td>\n      <td>0</td>\n      <td>15704</td>\n      <td>320</td>\n      <td>50</td>\n      <td>1722</td>\n      <td>0</td>\n      <td>35</td>\n      <td>100084</td>\n      <td>79</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>10000371904215119486</td>\n      <td>0</td>\n      <td>14102100</td>\n      <td>1005</td>\n      <td>0</td>\n      <td>1fbe01fe</td>\n      <td>f3845767</td>\n      <td>28905ebd</td>\n      <td>ecad2386</td>\n      <td>7801e8d9</td>\n      <td>...</td>\n      <td>1</td>\n      <td>0</td>\n      <td>15704</td>\n      <td>320</td>\n      <td>50</td>\n      <td>1722</td>\n      <td>0</td>\n      <td>35</td>\n      <td>100084</td>\n      <td>79</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>10000640724480838376</td>\n      <td>0</td>\n      <td>14102100</td>\n      <td>1005</td>\n      <td>0</td>\n      <td>1fbe01fe</td>\n      <td>f3845767</td>\n      <td>28905ebd</td>\n      <td>ecad2386</td>\n      <td>7801e8d9</td>\n      <td>...</td>\n      <td>1</td>\n      <td>0</td>\n      <td>15706</td>\n      <td>320</td>\n      <td>50</td>\n      <td>1722</td>\n      <td>0</td>\n      <td>35</td>\n      <td>100084</td>\n      <td>79</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>10000679056417042096</td>\n      <td>0</td>\n      <td>14102100</td>\n      <td>1005</td>\n      <td>1</td>\n      <td>fe8cc448</td>\n      <td>9166c161</td>\n      <td>0569f928</td>\n      <td>ecad2386</td>\n      <td>7801e8d9</td>\n      <td>...</td>\n      <td>1</td>\n      <td>0</td>\n      <td>18993</td>\n      <td>320</td>\n      <td>50</td>\n      <td>2161</td>\n      <td>0</td>\n      <td>35</td>\n      <td>-1</td>\n      <td>157</td>\n    </tr>\n  </tbody>\n</table>\n<p>5 rows × 24 columns</p>\n</div>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 11
    }
   ],
   "source": [
    "train_df.head()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "outputs": [
    {
     "data": {
      "text/plain": "                         id    click      hour       C1 banner_pos   site_id  \\\ncount               1000000  1000000   1000000  1000000    1000000   1000000   \nunique              1000000        2         6        7          7      2075   \ntop     2431003194024802634        0  14102104     1005          0  85f751fd   \nfreq                      1   839781    264711   935852     777714    332893   \n\n       site_domain site_category    app_id app_domain  ... device_type  \\\ncount      1000000       1000000   1000000    1000000  ...     1000000   \nunique        2030            21      2309        156  ...           4   \ntop       c4e18dd6      50e219e0  ecad2386   7801e8d9  ...           1   \nfreq        348412        360056    667107     707429  ...      950293   \n\n       device_conn_type      C14      C15      C16      C17      C18      C19  \\\ncount           1000000  1000000  1000000  1000000  1000000  1000000  1000000   \nunique                4      606        8        9      162        4       41   \ntop                   0    21611      320       50     1722        0       35   \nfreq             895464    83055   953430   957006   256389   425079   487516   \n\n            C20      C21  \ncount   1000000  1000000  \nunique      161       35  \ntop          -1       79  \nfreq     545390   256389  \n\n[4 rows x 24 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>id</th>\n      <th>click</th>\n      <th>hour</th>\n      <th>C1</th>\n      <th>banner_pos</th>\n      <th>site_id</th>\n      <th>site_domain</th>\n      <th>site_category</th>\n      <th>app_id</th>\n      <th>app_domain</th>\n      <th>...</th>\n      <th>device_type</th>\n      <th>device_conn_type</th>\n      <th>C14</th>\n      <th>C15</th>\n      <th>C16</th>\n      <th>C17</th>\n      <th>C18</th>\n      <th>C19</th>\n      <th>C20</th>\n      <th>C21</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>...</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n      <td>1000000</td>\n    </tr>\n    <tr>\n      <th>unique</th>\n      <td>1000000</td>\n      <td>2</td>\n      <td>6</td>\n      <td>7</td>\n      <td>7</td>\n      <td>2075</td>\n      <td>2030</td>\n      <td>21</td>\n      <td>2309</td>\n      <td>156</td>\n      <td>...</td>\n      <td>4</td>\n      <td>4</td>\n      <td>606</td>\n      <td>8</td>\n      <td>9</td>\n      <td>162</td>\n      <td>4</td>\n      <td>41</td>\n      <td>161</td>\n      <td>35</td>\n    </tr>\n    <tr>\n      <th>top</th>\n      <td>2431003194024802634</td>\n      <td>0</td>\n      <td>14102104</td>\n      <td>1005</td>\n      <td>0</td>\n      <td>85f751fd</td>\n      <td>c4e18dd6</td>\n      <td>50e219e0</td>\n      <td>ecad2386</td>\n      <td>7801e8d9</td>\n      <td>...</td>\n      <td>1</td>\n      <td>0</td>\n      <td>21611</td>\n      <td>320</td>\n      <td>50</td>\n      <td>1722</td>\n      <td>0</td>\n      <td>35</td>\n      <td>-1</td>\n      <td>79</td>\n    </tr>\n    <tr>\n      <th>freq</th>\n      <td>1</td>\n      <td>839781</td>\n      <td>264711</td>\n      <td>935852</td>\n      <td>777714</td>\n      <td>332893</td>\n      <td>348412</td>\n      <td>360056</td>\n      <td>667107</td>\n      <td>707429</td>\n      <td>...</td>\n      <td>950293</td>\n      <td>895464</td>\n      <td>83055</td>\n      <td>953430</td>\n      <td>957006</td>\n      <td>256389</td>\n      <td>425079</td>\n      <td>487516</td>\n      <td>545390</td>\n      <td>256389</td>\n    </tr>\n  </tbody>\n</table>\n<p>4 rows × 24 columns</p>\n</div>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 13
    }
   ],
   "source": [
    "train_df.describe()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [
    {
     "data": {
      "text/plain": "Text(0, 0.5, 'Number')"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 4
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(train_df['click'])\n",
    "plt.xlabel('click?')\n",
    "plt.ylabel('Number')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [
    {
     "data": {
      "text/plain": "0    8338643\n1    1661357\nName: click, dtype: int64"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 5
    }
   ],
   "source": [
    "train_df['click'].value_counts()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% \n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [
    {
     "data": {
      "text/plain": "id                  False\nclick               False\nhour                False\nC1                  False\nbanner_pos          False\nsite_id             False\nsite_domain         False\nsite_category       False\napp_id              False\napp_domain          False\napp_category        False\ndevice_id           False\ndevice_ip           False\ndevice_model        False\ndevice_type         False\ndevice_conn_type    False\nC14                 False\nC15                 False\nC16                 False\nC17                 False\nC18                 False\nC19                 False\nC20                 False\nC21                 False\ndtype: bool"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 6
    }
   ],
   "source": [
    "train_df.isnull().any()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "目前看来总体点击率也有16%左右了,取10m也能用把。或许"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 10000000 entries, 0 to 9999999\n",
      "Data columns (total 24 columns):\n",
      " #   Column            Dtype  \n",
      "---  ------            -----  \n",
      " 0   id                float64\n",
      " 1   click             int64  \n",
      " 2   hour              int64  \n",
      " 3   C1                int64  \n",
      " 4   banner_pos        int64  \n",
      " 5   site_id           object \n",
      " 6   site_domain       object \n",
      " 7   site_category     object \n",
      " 8   app_id            object \n",
      " 9   app_domain        object \n",
      " 10  app_category      object \n",
      " 11  device_id         object \n",
      " 12  device_ip         object \n",
      " 13  device_model      object \n",
      " 14  device_type       int64  \n",
      " 15  device_conn_type  int64  \n",
      " 16  C14               int64  \n",
      " 17  C15               int64  \n",
      " 18  C16               int64  \n",
      " 19  C17               int64  \n",
      " 20  C18               int64  \n",
      " 21  C19               int64  \n",
      " 22  C20               int64  \n",
      " 23  C21               int64  \n",
      "dtypes: float64(1), int64(14), object(9)\n",
      "memory usage: 1.8+ GB\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "train_df.info()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "outputs": [],
   "source": [
    "#转换hour为字符串先，看看单纯的时间，不计算周末和月份，因为这个也是影响广告点击率的，两天就爆炸了阿\n",
    "#这句话不好用，但是不知道效率高不高\n",
    "#train_df['purehour']=pd.to_datetime(train_df['hour'].astype('str'), format='%y%m%d%H', errors='coerce')\n",
    "train_df['purehour'] = train_df['hour'].astype('str').str[6:8]"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x2374069a3c8>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 9
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAEICAYAAACTVrmbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAf8ElEQVR4nO3dfbyVZZ3v8c9XFKHSBAFDNwQqmVo+blBrykZmFDkzao2MOiWoeOh41KzONOF4Xmo6npc9jJ60sphEoTGFMU0yFEmlp1EBS+VJZacc2WKKYEpjatDv/HFf2xaLe619b7jXfvy+X6/12ve61vW7r4u1r81vXdf9sBQRmJmZlWmnru6AmZn1Pk4uZmZWOicXMzMrnZOLmZmVzsnFzMxK5+RiZmala2hykbSHpNslPSlplaRjJA2WtFDS6vRzUKorSddJapH0hKQjKvYzJdVfLWlKRfmRkpalmOskKZXntmFmZp1DjbzORdIs4OcR8V1J/YF3AP8MbIyIqyVNBwZFxBclTQQuBCYCRwFfj4ijJA0GlgLNQACPAkdGxCuSFgMXAQ8D84HrIuIeSV/Ja6NeX4cMGRKjRo1qwLtgZtZ7Pfrooy9HxNDq8oYlF0m7A48D+0ZFI5KeAj4WES9IGg4siogDJH0nbd9aWa/tERGfTuXfARalx4MR8f5UfkZbvVpt1Otvc3NzLF26tLw3wMysD5D0aEQ0V5c3cllsX2A9cJOkX0v6rqR3AntFxAsA6eewVH8fYG1FfGsqq1femlNOnTbMzKwTNDK57AwcAdwQEYcD/wVMr1NfOWWxHeWFSZomaamkpevXr+9IqJmZ1dHI5NIKtEbEI+n57WTJ5sW0VEX6+VJF/REV8U3AunbKm3LKqdPGViJiRkQ0R0Tz0KHbLBmamdl22rlRO46I30paK+mAiHgKGA+sTI8pwNXp510pZB5wgaTbyA7ov5qOmSwA/k/FGV/HAxdHxEZJmyQdDTwCTAaur9hXXhtmZt3KH//4R1pbW3njjTe6uit1DRgwgKamJnbZZZdC9RuWXJILgVvSmWLPAGeTzZbmSpoKPAdMSnXnk50p1gK8nuqSksiVwJJU74qI2Ji2zwNuBgYC96QHZEklrw0zs26ltbWV3XbbjVGjRpGupuh2IoINGzbQ2trK6NGjC8U0NLlExGNkpxBXG59TN4Dza+xnJjAzp3wp8IGc8g15bZiZdTdvvPFGt04sAJLYc8896cixaV+hb2bWxbpzYmnT0T46uZiZWemcXMzMerDLL7+cr33tawBceuml/OQnP6lZ9+abb+aCCy7olH41+oC+Wbd35Bdmb1P26Fcnd0FPzHbMFVdc0dVdeJtnLmZmPcjs2bM55JBDOPTQQznzzDO3eu2ss87i9ttvB2DJkiV86EMf4tBDD2XcuHFs2rRpq7o//vGPOeaYY3j55Zcb0k/PXMzMeogVK1Zw1VVX8ctf/pIhQ4awceNGrrvuum3qvfXWW5x22mnMmTOHsWPH8tprrzFw4MC3X7/zzju55pprmD9/PoMGNeam8U4uZmY9xAMPPMCpp57KkCFDABg8eHBuvaeeeorhw4czduxYAHbfffe3X3vwwQdZunQp991331blZfOymJlZDxERhU4Jrldv3333ZdOmTTz99NNld28rTi5mZj3E+PHjmTt3Lhs2bABg48aNufXe//73s27dOpYsyW5ssmnTJjZv3gzAe9/7Xu644w4mT57MihUrGtZXL4uZmfUQBx98MJdccgnHHnss/fr14/DDDyfvSw779+/PnDlzuPDCC/nDH/7AwIEDtzpF+YADDuCWW25h0qRJ/OhHP2K//fYrva8N/SbKnsRfFtZ3+VRk60qrVq3iwAMP7OpuFJLX1674sjAzM+ujnFzMzKx0Ti5mZlY6JxczMyudk4uZmZXOpyKbbSefZWZWm5OLmVk3kvehZUcU/cBz7733ctFFF7FlyxbOPfdcpk+fvkPtelnMzKyP27JlC+effz733HMPK1eu5NZbb2XlypU7tE8nFzOzPm7x4sXsv//+7LvvvvTv35/TTz+du+66a4f26eRiZtbHPf/884wYMeLt501NTTz//PM7tE8nFzOzPi7vNmBF7r5cj5OLmVkf19TUxNq1a99+3trayt57771D+3RyMTPr48aOHcvq1at59tlneeutt7jttts46aSTdmifPhXZzKwb6YprpXbeeWe+8Y1vcMIJJ7BlyxbOOeccDj744B3bZ0l9MzOzHmzixIlMnDixtP15WczMzErX0OQiaY2kZZIek7Q0lQ2WtFDS6vRzUCqXpOsktUh6QtIRFfuZkuqvljSlovzItP+WFKt6bZiZWefojJnLX0bEYRXfVDYduD8ixgD3p+cAJwJj0mMacANkiQK4DDgKGAdcVpEsbkh12+ImtNOGmZl1gq5YFjsZmJW2ZwGnVJTPjszDwB6ShgMnAAsjYmNEvAIsBCak13aPiIciO0l7dtW+8towM7NO0OjkEsB9kh6VNC2V7RURLwCkn8NS+T7A2orY1lRWr7w1p7xeG2Zm1gkafbbYhyNinaRhwEJJT9apm3c5aGxHeWEp4U0DGDlyZEdCzcysjoYml4hYl36+JOlOsmMmL0oaHhEvpKWtl1L1VmBERXgTsC6Vf6yqfFEqb8qpT502qvs3A5gB0Nzc3KHEZGbWCM9d8cFS9zfy0mXt1jnnnHO4++67GTZsGMuXLy+l3YYti0l6p6Td2raB44HlwDyg7YyvKUDbrTfnAZPTWWNHA6+mJa0FwPGSBqUD+ccDC9JrmyQdnc4Sm1y1r7w2zMysyllnncW9995b6j4bOXPZC7gznR28M/D9iLhX0hJgrqSpwHPApFR/PjARaAFeB84GiIiNkq4ElqR6V0TExrR9HnAzMBC4Jz0Arq7RhpmZVfnoRz/KmjVrSt1nw5JLRDwDHJpTvgEYn1MewPk19jUTmJlTvhT4QNE2zMysc/gKfTMzK52Ti5mZlc7JxczMSue7Ilu7jvzC7Nzyrrg1uFlvV+TU4bKdccYZLFq0iJdffpmmpia+9KUvMXXq1B3ap5OLWSfLS9ZO1NaVbr311tL36WUxMzMrnWcuZj2EZzzWk3jmYmbWxbLL/Lq3jvbRycXMrAsNGDCADRs2dOsEExFs2LCBAQMGFI7xspiZWRdqamqitbWV9evXd3VX6howYABNTU3tV0ycXMzMutAuu+zC6NGju7obpfOymJmZlc7JxczMSudlMes1fKquWffhmYuZmZXOMxdrGN+TzKzv8szFzMxK5+RiZmal87KYWS/nEx2sK3jmYmZmpXNyMTOz0jm5mJlZ6ZxczMysdE4uZmZWOicXMzMrnU9F7oF85buZdXdOLn2Ik5KZdZaGL4tJ6ifp15LuTs9HS3pE0mpJcyT1T+W7puct6fVRFfu4OJU/JemEivIJqaxF0vSK8tw2zMysc3TGMZeLgFUVz78MXBsRY4BXgKmpfCrwSkTsD1yb6iHpIOB04GBgAvCtlLD6Ad8ETgQOAs5Ideu1YWZmnaChyUVSE/DfgO+m5wKOA25PVWYBp6Ttk9Nz0uvjU/2Tgdsi4s2IeBZoAcalR0tEPBMRbwG3ASe304aZmXWCRs9c/i/wT8Cf0vM9gd9FxOb0vBXYJ23vA6wFSK+/muq/XV4VU6u8XhtmZtYJGpZcJP0N8FJEPFpZnFM12nmtrPK8Pk6TtFTS0vXr1+dVMTOz7dDImcuHgZMkrSFbsjqObCazh6S2s9SagHVpuxUYAZBefzewsbK8KqZW+ct12thKRMyIiOaIaB46dOj2/0vNzGwrDUsuEXFxRDRFxCiyA/IPRMQngQeBU1O1KcBdaXteek56/YGIiFR+ejqbbDQwBlgMLAHGpDPD+qc25qWYWm2YmVkn6Ior9L8IfF5SC9nxkRtT+Y3Anqn888B0gIhYAcwFVgL3AudHxJZ0TOUCYAHZ2WhzU916bZiZWSfolIsoI2IRsChtP0N2pld1nTeASTXirwKuyimfD8zPKc9tw8zMOofvLWZmZqVzcjEzs9I5uZiZWel848ou5BtJmllv5ZmLmZmVzsnFzMxK5+RiZmalc3IxM7PSObmYmVnpnFzMzKx0Ti5mZlY6JxczMyudk4uZmZXOycXMzErn279Yt5N3WxzfEsesZ/HMxczMSufkYmZmpSuUXCTdX6TMzMwM2jnmImkA8A5giKRBgNJLuwN7N7hvZmbWQ7V3QP/TwGfJEsmj/Dm5vAZ8s4H9MjOzHqxucomIrwNfl3RhRFzfSX0yM7MertCpyBFxvaQPAaMqYyIi/6sUzcysTyuUXCR9D9gPeAzYkooDcHIxM7NtFL2Ishk4KCKikZ0xM7Peoeh1LsuB9zSyI2Zm1nsUnbkMAVZKWgy82VYYESc1pFdmZtajFU0ulzeyE2Zm1rsUWhaLiJ/mPerFSBogabGkxyWtkPSlVD5a0iOSVkuaI6l/Kt81PW9Jr4+q2NfFqfwpSSdUlE9IZS2SpleU57ZhZmado+jtXzZJei093pC0RdJr7YS9CRwXEYcChwETJB0NfBm4NiLGAK8AU1P9qcArEbE/cG2qh6SDgNOBg4EJwLck9ZPUj+xCzhOBg4AzUl3qtGFmZp2g6Mxlt4jYPT0GAH8HfKOdmIiI36enu6RHAMcBt6fyWcApafvk9Jz0+nhJSuW3RcSbEfEs0AKMS4+WiHgmIt4CbgNOTjG12jAzs06wXd/nEhE/rFyGqiXNLh4F9iebZfwG+F1EbE5VWoF90vY+wNq0/82SXgX2TOUPV+y2MmZtVflRKaZWG9X9mwZMAxg5cmR7/xwz62byvvsH/P0/3UHRiyg/UfF0J7LrXtq95iUitgCHSdoDuBM4MK9aWzM1XqtVnjfrqlc/r38zgBkAzc3NvobHzKwkRWcuf1uxvRlYQ7ZcVUhE/E7SIuBoYA9JO6eZRROwLlVrBUYArZJ2Bt4NbKwob1MZk1f+cp02zMw84+kERe8tdnZHdyxpKPDHlFgGAn9FdqD9QeBUsmMkU4C7Usi89Pyh9PoDERGS5gHfl3QN2d2ZxwCLyWYoYySNBp4nO+j/DymmVhtm1kD+T9vaFF0WawKuBz5MtsT0C+CiiGitEzYcmJWOu+wEzI2IuyWtBG6T9C/Ar4EbU/0bge9JaiGbsZwOEBErJM0FVpLNms5Py21IugBYAPQDZkbEirSvL9Zow8wKyksUjUoSTkq9T9FlsZuA7wOT0vNPpbK/rhUQEU8Ah+eUP0N2pld1+RsV+69+7Srgqpzy+cD8om2YmVnnKHpvsaERcVNEbE6Pm4GhDeyXmZn1YEWTy8uSPtV28aKkTwEbGtkxMzPruYoui51DdtHktWTHXP4T6PBB/t7K68VmZlsrmlyuBKZExCsAkgYDXyNLOmZmZlspuix2SFtiAYiIjeQcrDczM4PiyWUnSYPanqSZy3bdOsbMzHq/ogniX4H/lHQ72TGXvyfn1GAzMzMofoX+bElLye42LOATEbGyoT0zM7Meq/DSVkomTihmZtauosdczMzMCnNyMTOz0jm5mJlZ6ZxczMysdE4uZmZWOl8IaWZWkO8jWJxnLmZmVjonFzMzK52Ti5mZlc7HXCp4PdXMrByeuZiZWemcXMzMrHROLmZmVjonFzMzK52Ti5mZlc7JxczMSudTkc3MGqwvXubQsJmLpBGSHpS0StIKSRel8sGSFkpanX4OSuWSdJ2kFklPSDqiYl9TUv3VkqZUlB8paVmKuU6S6rVhZmado5HLYpuB/xURBwJHA+dLOgiYDtwfEWOA+9NzgBOBMekxDbgBskQBXAYcBYwDLqtIFjekum1xE1J5rTbMzKwTNCy5RMQLEfGrtL0JWAXsA5wMzErVZgGnpO2TgdmReRjYQ9Jw4ARgYURsjIhXgIXAhPTa7hHxUEQEMLtqX3ltmJlZJ+iUA/qSRgGHA48Ae0XEC5AlIGBYqrYPsLYirDWV1StvzSmnThtmZtYJGp5cJL0L+AHw2Yh4rV7VnLLYjvKO9G2apKWSlq5fv74joWZmVkdDk4ukXcgSyy0RcUcqfjEtaZF+vpTKW4ERFeFNwLp2yptyyuu1sZWImBERzRHRPHTo0O37R5qZ2TYaebaYgBuBVRFxTcVL84C2M76mAHdVlE9OZ40dDbyalrQWAMdLGpQO5B8PLEivbZJ0dGprctW+8towM7NO0MjrXD4MnAksk/RYKvtn4GpgrqSpwHPApPTafGAi0AK8DpwNEBEbJV0JLEn1roiIjWn7POBmYCBwT3pQpw0zM+sEDUsuEfEL8o+LAIzPqR/A+TX2NROYmVO+FPhATvmGvDbMzKxz+PYvZmZWOicXMzMrnZOLmZmVzjeuNDPrpnryDS89czEzs9I5uZiZWemcXMzMrHROLmZmVjof0Dcz62W6w4kAnrmYmVnpnFzMzKx0Ti5mZlY6JxczMyudk4uZmZXOycXMzErn5GJmZqVzcjEzs9I5uZiZWel8hb6ZmQHlXtnvmYuZmZXOycXMzErn5GJmZqVzcjEzs9I5uZiZWemcXMzMrHROLmZmVjonFzMzK13DkoukmZJekrS8omywpIWSVqefg1K5JF0nqUXSE5KOqIiZkuqvljSlovxISctSzHWSVK8NMzPrPI2cudwMTKgqmw7cHxFjgPvTc4ATgTHpMQ24AbJEAVwGHAWMAy6rSBY3pLptcRPaacPMzDpJw5JLRPwM2FhVfDIwK23PAk6pKJ8dmYeBPSQNB04AFkbExoh4BVgITEiv7R4RD0VEALOr9pXXhpmZdZLOPuayV0S8AJB+Dkvl+wBrK+q1prJ65a055fXaMDOzTtJdblypnLLYjvKONSpNI1taY+TIkQzp6A6s13ruig/mlo+8dFkn98SsZ+rs5PKipOER8UJa2noplbcCIyrqNQHrUvnHqsoXpfKmnPr12thGRMwAZgA0NzdHh7OTWRUnJbNMZy+LzQPazviaAtxVUT45nTV2NPBqWtJaABwvaVA6kH88sCC9tknS0ekssclV+8prw8zMOknDZi6SbiWbdQyR1Ep21tfVwFxJU4HngEmp+nxgItACvA6cDRARGyVdCSxJ9a6IiLaTBM4jOyNtIHBPelCnjV4v71OzPzGbWVdoWHKJiDNqvDQ+p24A59fYz0xgZk75UuADOeUb8tow6868nGa9TXc5oG99iGdY5XFSsu7KycW2m5OEmdXi5NIN+T/t8viTvVnXcHIxJ7M+yEnXGs3JxXoE/2do1rP4lvtmZlY6z1zMrLDtnUF65tn3OLmYWbflZNZzObk0kA+Um1lf5eRiZpb4A2F5fEDfzMxK5+RiZmal87JYAZ4qm5l1jGcuZmZWOs9czMx2kFc3tuWZi5mZlc4zFzOzLtKbZzyeuZiZWek8czEz62F6wozHycXMrI/ozKTk5GJmZnVtT1LyMRczMyudk4uZmZXOycXMzErn5GJmZqVzcjEzs9I5uZiZWel6bXKRNEHSU5JaJE3v6v6YmfUlvTK5SOoHfBM4ETgIOEPSQV3bKzOzvqNXJhdgHNASEc9ExFvAbcDJXdwnM7M+o7cml32AtRXPW1OZmZl1AkVEV/ehdJImASdExLnp+ZnAuIi4sKreNGBaenoA8FSNXQ4BXt6OrjiuvLie0EfHOa4vxr03IoZuUxoRve4BHAMsqHh+MXDxDuxvqeO6Nq4n9NFxjnPcnx+9dVlsCTBG0mhJ/YHTgXld3Cczsz6jV94VOSI2S7oAWAD0A2ZGxIou7paZWZ/RK5MLQETMB+aXtLsZjuvyuJ7QR8c5znFJrzygb2ZmXau3HnMxM7Mu5ORSJe+2MenEgEckrZY0J50kUCTugvQ8JA3pQHu3pLLlkmZK2qVg3I2SHpf0hKTbJb2rSFzFa9dL+n0H+nmzpGclPZYehxWMk6SrJD0taZWkzxSM+3lFW+sk/bBg3HhJv0pxv5C0f8G441LcckmzJO1cFTNT0kuSlleUDZa0MI2VhZIG5bSVFzdJ0gpJf5LUXON3kBf3VUlPpt/5nZL2KBh3ZYp5TNJ9kvYuElfx2j/WGtc12rtc0vMVv7+JRduTdGH63ayQ9JWC7c2paGuNpMcKxh0m6eEUt1TSuIJxh0p6SNIyST+StHtVzAhJD6bxvkLSRam87nipE1d3vNSJqzte6sS1O162sT2npfXWB9nB/98A+wL9gcfJbh8zFzg91fk2cF7BuMOBUcAaYEgH2psIKD1u7UB7u1fUuQaYXiQuvdYMfA/4fQf6eTNw6na8n2cDs4GdUr1hRftZUecHwOSC7T0NHJjq/E/g5oJxa4H3pTpXAFOr4j4KHAEsryj7Stv7DkwHvpzzvuTFHUh2rdUioLnG+5kXdzywc9r+cgfaqxwrnwG+XSQulY8gO1nm/5E/rvPauxz4x3b+/vLi/hL4CbBr3lip18+K1/8VuLRge/cBJ6bticCignFLgGPT9jnAlVUxw4Ej0vZuaUwe1N54qRNXd7zUias7XurEtTteqh+euWyt1m1jjgNuT3VmAacUiYuIX0fEmo62FxHzIwEWA00F416DbGYADASqD6jlxim7F9tXgX/q4PvSnlpx5wFXRMSfACLipY60J2k3st9J9cylVlwAbZ8k3w2sKxD3d8CbEfF0qrMwlb0tIn4GbKza18lkYwTyx0puXESsiohaF/HWi7svIjanpw+z7VipFfdaxdN3su1YqfXvA7iWbKzkHrCtE1dXjbjzgKsj4s1Up3qs1G0v/S38PdmHtCJx7Y2VWnEHAD9L23lj5YWI+FXa3gSsIrtrSN3xUiuuvfFSJ67ueKkT1+54qebksrVat435XcUvJO9WMtt7u5m6ccqWw84E7i0aJ+km4LfA+4HrC8ZdAMyLiBe2o59XpenytZJ2LRi3H3BaWna4R9KYDrQH8HHg/qoBXy/uXGC+pFay9/PqAnHvAXapWHI4lewTe3v2ansf089hBWLKcg5wT9HKypYm1wKfBC4tGHMS8HxEPL4d/bsgjZWZ1cs/dbwP+IiyZemfShrbwTY/ArwYEasL1v8s8NX0vnyN7ALsIpYDJ6XtSdQZK5JGka1qPEIHxktVXGF14uqOl+q4jo4XJ5etKaesX05ZddbOiytyGl57cd8CfhYRPy8aFxFnA3uTfeI4rUDcrmR/DNWJqEh7F5MlsbHAYOCLBeN2Bd6IiGbg34CZBePanEHOJ9E6cZ8DJkZEE3AT2ZJhe3F/Irv49lpJi4FNwOacet2CpEvI+ndL0ZiIuCQiRqSYCwq08Q7gEgomoio3kH2oOAx4gWypqoidgUHA0cAXgLlpNlJUrbFSy3nA59L78jngxoJx5wDnS3qUbDnprbxKyo6D/gD4bM6Ho5rKjmtvvOTFdXS8OLlsrZWtP3E0Ac8Be+jPB3Ob2HaqnBe3zXS6YHvrACRdBgwFPt+ROICI2ALMoWpqXiNuDbA/0CJpDfAOSS1F2ktT6EhLFjeRLS8V6Wcr2cAFuBM4pOi/T9KeqZ0fs628uJeAQyOi7VPbHOBDBf99D0XERyJiHNmSR5FPvy9KGp76Ojy131CSpgB/A3wyLaV21PfZdqzk2Q8YDTyexkoT8CtJ72kvMCJejIgtaSn039h2rNTSCtyRxtlisqSfe3JMtfQ3+wmy33lRU4A70vZ/FO1nRDwZEcdHxJFkyew3Of3ZhWzc3xIRbW20O15qxLWrVlx746VAe4XGi5PL1mrdNuZBsmURyAbfXQXjtqs9SecCJwBntB2XKBi3P7y9zvy3wJMF4n4YEe+JiFERMQp4PSKqz6aq1V7bH4XI1oqrzyqq9b78kOyYCcCxZAcNi8RBNsu6OyLeKPq+AO+W9L5U56/JZnVF/n3D0r9vV7JZ2bdz2qw2j2yMQP5YKZWkCWR9OykiXu9AXOVS5ElsO1a2ERHLImJYxVhpJTv4+9sC7Q2vePpxth0rtbw9VtLvsD/Fb7z4V8CTEdFasD5kH2KOTdvHUewDBRVjZSfgf1M1VtLfyI3AqoionDnXHS914trrT25ce+OlTlyHx0vdo/198UF2hsjTZJ88Lkll+5IdWG8h+zSza8G4z5D9AW4mG7TfLRi3OT1/LD3yznTZKo7sg8IvgWVkf7i3UHGGR732ql7f5myxOv18oKK9fwfeVTBuD7KZxzLgIbKZRaF+kp0dM6GDv7+Pp7YeT/H7Foz7KlkieopseaA65layJZ4/pt/zVGBP4H6y/5TuBwYXjPt42n4TeJGKG6+2E9dCdryobazknfWVF/eD9Ht7AvgR2UHbduOqXl9D/tliee19L/0OniD7D3V4wbj+aWwtB34FHFe0n2RnM/6POmMlr72/AB5NY+UR4MiCcRel8fM02TE9VcX8BdkS7RMVv6uJ7Y2XOnF1x0uduLrjpU5cu+Ol+uEr9M3MrHReFjMzs9I5uZiZWemcXMzMrHROLmZmVjonFzMzK52Ti1k3J+ljku7u6n6YdYSTi1k3oKrb+ffWNq3vcHIxK4mkUcq+K2OW/vydOu9Q9n0iQ1KdZkmL0vblkmZIug+YLamfsu/bWJLiP12x+3el/T2p7Pt+lPYxXtKvlX2PyMx0NwGKttlpb471OU4uZuU6AJgREYcAr5F9f0w9R5J9XcI/kF3p/WpEjCW7Geh/lzQ61Tuc7I69B5HdMeLDkgaQXYV+WkR8kOwmj+cV6GNlm2YN4eRiVq61EfHLtP3vZLfTqGdeRPwhbR8PTFb2rYmPkN0apO2eTosjojWye809RvYldAcAz8afv3NmFtkXWbWnsk2zhvCaq1m5qu+nFGT3imv7IDeg6vX/qtgWcGFELKisIOljZPeQarOF7G+33q3ni7Zp1hCeuZiVa6SkY9L2GcAvyG7weGQqq3er8gXAeemW50h6n6R31qn/JDCq7W7YZF+E9tO0XbRNs4ZwcjEr1ypgiqQnyL5A7QbgS8DXJf2cbNZRy3eBlWTfkbIc+A51Vhci+9qBs4H/kLSM7LtO2m71XrRNs4bwXZHNSqLsa2HvjogPdHFXzLqcZy5mZlY6z1zMzKx0nrmYmVnpnFzMzKx0Ti5mZlY6JxczMyudk4uZmZXOycXMzEr3/wGQDaqep/DI8wAAAABJRU5ErkJggg==\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#看一下小时点击。投放量也不一样阿\n",
    "sns.countplot(x=\"purehour\", hue=\"click\",data=train_df)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x236f37e9508>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 10
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#这个是投放量了\n",
    "sns.countplot(x=\"purehour\",data=train_df)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x236f4a8dc48>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 11
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#修正，每天应该都是不一致的，不过大体上都是白天多\n",
    "#train_df['click_percent'] = \n",
    "sns.countplot(x=\"hour\",data=train_df)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x236f531b348>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 12
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(x=\"banner_pos\",hue='click',data=train_df)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "outputs": [
    {
     "data": {
      "text/plain": "09    0.067870\n10    0.063830\n11    0.056242\n05    0.056020\n12    0.055227\n08    0.053005\n06    0.052854\n13    0.051396\n03    0.050546\n04    0.049086\n02    0.045830\n07    0.042163\n17    0.036885\n15    0.036154\n14    0.036014\n18    0.035812\n16    0.035618\n01    0.034031\n19    0.029338\n00    0.028635\n20    0.025639\n21    0.021333\n22    0.019781\n23    0.016692\nName: purehour, dtype: float64"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 13
    }
   ],
   "source": [
    "train_df['purehour'].value_counts(normalize=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "outputs": [],
   "source": [
    "df_gr=train_df.groupby('hour')\n",
    "x_list = list(df_gr.groups.keys())"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "outputs": [
    {
     "data": {
      "text/plain": "hour\n14102100    119006\n14102101    137442\n14102102    207471\n14102103    193355\n14102104    264711\n14102105    273500\n14102106    239720\n14102107    209311\n14102108    207244\n14102109    230917\n14102110    200028\n14102111    175666\n14102112    143620\n14102113    190481\n14102114    174531\n14102115    176156\n14102116    171869\n14102117    171933\n14102118    152365\n14102119    119775\n14102120    112017\n14102121     89501\n14102122     88436\n14102123     73940\n14102200     78006\n14102201    100611\n14102202    102844\n14102203    137006\n14102204    200948\n14102205    286697\n14102206    288819\n14102207    212323\n14102208    322803\n14102209    447783\n14102210    438270\n14102211    386757\n14102212    408650\n14102213    323480\n14102214    185611\n14102215    185381\n14102216    184316\n14102217    196912\n14102218    205756\n14102219    173603\n14102220    144375\n14102221    123826\n14102222    109372\n14102223     92977\n14102300     89341\n14102301    102258\n14102302    147980\n14102303    175094\n14102304     25206\nName: id, dtype: int64"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 15
    }
   ],
   "source": [
    "train_df.groupby('hour')['id'].count()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "outputs": [],
   "source": [
    "sns_test = train_df.groupby('hour')['click'].value_counts(normalize=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x23751e13c48>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 38
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('hour')['click'].value_counts().plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "outputs": [
    {
     "data": {
      "text/plain": "C1    click\n1001  0        0.967807\n      1        0.032193\n1002  0        0.766385\n      1        0.233615\n1005  0        0.835260\n      1        0.164740\n1007  0        0.959661\n      1        0.040339\n1008  0        0.894614\n      1        0.105386\n1010  0        0.902586\n      1        0.097414\n1012  0        0.929366\n      1        0.070634\nName: click, dtype: float64"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 17
    }
   ],
   "source": [
    "train_df.groupby('C1')['click'].value_counts(normalize=True)\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "6.813963e+18    1\n",
      "1.827474e+19    1\n",
      "1.626235e+19    1\n",
      "1.114135e+19    1\n",
      "1.602848e+19    1\n",
      "               ..\n",
      "6.350670e+18    1\n",
      "4.328860e+18    1\n",
      "1.087473e+19    1\n",
      "1.626399e+19    1\n",
      "1.577656e+19    1\n",
      "Name: id, Length: 10000000, dtype: int64\n",
      "0    8338643\n",
      "1    1661357\n",
      "Name: click, dtype: int64\n",
      "14102209    447783\n",
      "14102210    438270\n",
      "14102212    408650\n",
      "14102211    386757\n",
      "14102213    323480\n",
      "14102208    322803\n",
      "14102206    288819\n",
      "14102205    286697\n",
      "14102105    273500\n",
      "14102104    264711\n",
      "14102106    239720\n",
      "14102109    230917\n",
      "14102207    212323\n",
      "14102107    209311\n",
      "14102102    207471\n",
      "14102108    207244\n",
      "14102218    205756\n",
      "14102204    200948\n",
      "14102110    200028\n",
      "14102217    196912\n",
      "14102103    193355\n",
      "14102113    190481\n",
      "14102214    185611\n",
      "14102215    185381\n",
      "14102216    184316\n",
      "14102115    176156\n",
      "14102111    175666\n",
      "14102303    175094\n",
      "14102114    174531\n",
      "14102219    173603\n",
      "14102117    171933\n",
      "14102116    171869\n",
      "14102118    152365\n",
      "14102302    147980\n",
      "14102220    144375\n",
      "14102112    143620\n",
      "14102101    137442\n",
      "14102203    137006\n",
      "14102221    123826\n",
      "14102119    119775\n",
      "14102100    119006\n",
      "14102120    112017\n",
      "14102222    109372\n",
      "14102202    102844\n",
      "14102301    102258\n",
      "14102201    100611\n",
      "14102223     92977\n",
      "14102121     89501\n",
      "14102300     89341\n",
      "14102122     88436\n",
      "14102200     78006\n",
      "14102123     73940\n",
      "14102304     25206\n",
      "Name: hour, dtype: int64\n",
      "1005    9319353\n",
      "1002     448593\n",
      "1010     195188\n",
      "1012      18150\n",
      "1007      12866\n",
      "1008       3862\n",
      "1001       1988\n",
      "Name: C1, dtype: int64\n",
      "0    7487404\n",
      "1    2501578\n",
      "5       3856\n",
      "2       3230\n",
      "7       2444\n",
      "4       1403\n",
      "3         85\n",
      "Name: banner_pos, dtype: int64\n",
      "85f751fd    3809647\n",
      "1fbe01fe    1533362\n",
      "e151e245     488789\n",
      "d9750ee7     266545\n",
      "5b08c53b     207364\n",
      "             ...   \n",
      "42d8bc30          1\n",
      "245129aa          1\n",
      "6eb6ebcf          1\n",
      "36209a2e          1\n",
      "c71b00e4          1\n",
      "Name: site_id, Length: 3496, dtype: int64\n",
      "c4e18dd6    3939930\n",
      "f3845767    1533362\n",
      "7e091613     652522\n",
      "98572c79     287557\n",
      "7687a86e     283877\n",
      "             ...   \n",
      "f146a63c          1\n",
      "13562cc9          1\n",
      "43c5993b          1\n",
      "2d7edb38          1\n",
      "db520d10          1\n",
      "Name: site_domain, Length: 4585, dtype: int64\n",
      "50e219e0    4169502\n",
      "f028772b    3038300\n",
      "28905ebd    1817654\n",
      "3e814130     736135\n",
      "f66779e6      92571\n",
      "335d28a8      44296\n",
      "75fa27f6      28605\n",
      "76b2941d      27707\n",
      "72722551      13868\n",
      "0569f928       9077\n",
      "70fb0e29       8249\n",
      "c0dd3be3       6405\n",
      "dedf689d       4853\n",
      "a818d37a       1586\n",
      "e787de0e        367\n",
      "42a36e14        343\n",
      "bcf865d9        252\n",
      "5378d028        105\n",
      "8fd0aea4         93\n",
      "9ccfa2ea         23\n",
      "74073276          5\n",
      "110ab22d          2\n",
      "c706e647          2\n",
      "Name: site_category, dtype: int64\n",
      "ecad2386    6190353\n",
      "e2fcccd2     280797\n",
      "7358e05e     272138\n",
      "a5184c22     209689\n",
      "febd1138     177939\n",
      "             ...   \n",
      "44178310          1\n",
      "b032684b          1\n",
      "5b7849f5          1\n",
      "29b3b396          1\n",
      "a8fe6fd8          1\n",
      "Name: app_id, Length: 5469, dtype: int64\n",
      "7801e8d9    6548642\n",
      "2347f47a    1521030\n",
      "5c5a694b     280822\n",
      "b9528b13     278358\n",
      "d9b5648e     226822\n",
      "             ...   \n",
      "ce031f02          1\n",
      "3419dd80          1\n",
      "da1be86e          1\n",
      "a96b2ee7          1\n",
      "f75ccedd          1\n",
      "Name: app_domain, Length: 390, dtype: int64\n",
      "07d7df22    6292277\n",
      "0f2161f8    2402914\n",
      "cef3e649     651844\n",
      "f95efa07     287318\n",
      "8ded1f7a     243683\n",
      "09481d60      42030\n",
      "d1327cf5      38793\n",
      "75d80bbe       9446\n",
      "fc6fa53d       6185\n",
      "879c24eb       5925\n",
      "4ce2e9fc       5758\n",
      "dc97ec06       5146\n",
      "a3c42688       2955\n",
      "0f9a328c       1967\n",
      "4681bb9d       1246\n",
      "a86a3e89        918\n",
      "2281a340        503\n",
      "8df2e842        419\n",
      "0bfbc358        222\n",
      "79f0b860        187\n",
      "a7fd01ec        121\n",
      "7113d72a         57\n",
      "18b1e0be         54\n",
      "5326cf99         14\n",
      "2fc4f2aa          5\n",
      "4b7ade46          4\n",
      "86c1a5a3          2\n",
      "71af18ce          2\n",
      "ef03ae90          1\n",
      "bd41f328          1\n",
      "cba0e20d          1\n",
      "f395a87f          1\n",
      "52de74cf          1\n",
      "Name: app_category, dtype: int64\n",
      "a99f214a    8148098\n",
      "c357dbff      17287\n",
      "936e92fb       4627\n",
      "afeffc18       1645\n",
      "cef4c8cc       1258\n",
      "             ...   \n",
      "23700b5c          1\n",
      "efaa9d46          1\n",
      "facfb4bf          1\n",
      "207da529          1\n",
      "3280cba0          1\n",
      "Name: device_id, Length: 786741, dtype: int64\n",
      "6b9769f2    50991\n",
      "431b3174    33828\n",
      "af62faf4    21017\n",
      "930ec31d    20912\n",
      "2f323f36    20682\n",
      "            ...  \n",
      "50f2698d        1\n",
      "0031c63d        1\n",
      "2bb8265f        1\n",
      "97e1bb91        1\n",
      "b304170b        1\n",
      "Name: device_ip, Length: 2129662, dtype: int64\n",
      "8a4875bd    618758\n",
      "1f0bc64f    359626\n",
      "d787e91b    319725\n",
      "7abbbd5c    180343\n",
      "4ea23a13    172860\n",
      "             ...  \n",
      "1e9cc8b6         1\n",
      "b2d553e4         1\n",
      "cdd4d135         1\n",
      "4f7f61d3         1\n",
      "70dc3db1         1\n",
      "Name: device_model, Length: 6863, dtype: int64\n",
      "1    9356219\n",
      "0     448593\n",
      "4     171529\n",
      "5      23659\n",
      "Name: device_type, dtype: int64\n",
      "0    8918789\n",
      "2     881432\n",
      "3     187458\n",
      "5      12321\n",
      "Name: device_conn_type, dtype: int64\n",
      "21767    376105\n",
      "21768    373692\n",
      "19251    339308\n",
      "21790    280425\n",
      "21611    234980\n",
      "          ...  \n",
      "21304         1\n",
      "21903         1\n",
      "21786         1\n",
      "22017         1\n",
      "22022         1\n",
      "Name: C14, Length: 1030, dtype: int64\n",
      "320     9304610\n",
      "300      466988\n",
      "216      203756\n",
      "728       23238\n",
      "480        1033\n",
      "1024        159\n",
      "768         130\n",
      "120          86\n",
      "Name: C15, dtype: int64\n",
      "50      9348856\n",
      "250      387471\n",
      "36       203756\n",
      "480       35271\n",
      "90        23238\n",
      "320        1033\n",
      "768         159\n",
      "1024        130\n",
      "20           86\n",
      "Name: C16, dtype: int64\n",
      "1722    1073805\n",
      "2506     803166\n",
      "2502     735927\n",
      "2507     447398\n",
      "2526     364690\n",
      "         ...   \n",
      "2447          7\n",
      "2537          4\n",
      "2511          3\n",
      "644           1\n",
      "1253          1\n",
      "Name: C17, Length: 226, dtype: int64\n",
      "0    5028925\n",
      "3    3411807\n",
      "2    1365889\n",
      "1     193379\n",
      "Name: C18, dtype: int64\n",
      "35      4882999\n",
      "39      1810244\n",
      "167      477621\n",
      "47       228949\n",
      "169      226489\n",
      "687      220228\n",
      "297      195498\n",
      "679      166291\n",
      "1327     155309\n",
      "171      136310\n",
      "547      131100\n",
      "431      130204\n",
      "163      129803\n",
      "1063     121539\n",
      "1451     113668\n",
      "41       108606\n",
      "303      100076\n",
      "1319      97624\n",
      "34        79560\n",
      "175       70798\n",
      "299       66469\n",
      "427       57270\n",
      "161       56715\n",
      "43        52379\n",
      "1711      29658\n",
      "811       24715\n",
      "291       23143\n",
      "1835      18756\n",
      "551       17942\n",
      "813       15940\n",
      "681       13182\n",
      "553        7567\n",
      "673        5351\n",
      "425        5169\n",
      "1315       4961\n",
      "943        4949\n",
      "423        4615\n",
      "801        4165\n",
      "675        1073\n",
      "559        1010\n",
      "1071        845\n",
      "683         562\n",
      "33          248\n",
      "1447        161\n",
      "555         141\n",
      "295          97\n",
      "45            1\n",
      "Name: C19, dtype: int64\n",
      "-1         5078174\n",
      " 100084     587420\n",
      " 100111     440608\n",
      " 100148     361689\n",
      " 100077     338696\n",
      "            ...   \n",
      " 100132          7\n",
      " 100100          7\n",
      " 100134          4\n",
      " 100157          4\n",
      " 100209          2\n",
      "Name: C20, Length: 168, dtype: int64\n",
      "157    1640164\n",
      "23     1364834\n",
      "221    1317585\n",
      "79     1141925\n",
      "61      593850\n",
      "32      479600\n",
      "43      424975\n",
      "48      417812\n",
      "33      302396\n",
      "68      299927\n",
      "117     278064\n",
      "15      260545\n",
      "42      156129\n",
      "111     140305\n",
      "51      131100\n",
      "156     124449\n",
      "91      113528\n",
      "71      102753\n",
      "52       93379\n",
      "90       88691\n",
      "17       83851\n",
      "13       62744\n",
      "112      59174\n",
      "69       56819\n",
      "16       47590\n",
      "35       44993\n",
      "46       33882\n",
      "95       32126\n",
      "101      26100\n",
      "100      23563\n",
      "194      13897\n",
      "82       11233\n",
      "116       9904\n",
      "20        7331\n",
      "93        5266\n",
      "195       3861\n",
      "94        2915\n",
      "70        1010\n",
      "110        942\n",
      "85         497\n",
      "219        150\n",
      "102        141\n",
      "Name: C21, dtype: int64\n",
      "09    678700\n",
      "10    638298\n",
      "11    562423\n",
      "05    560197\n",
      "12    552270\n",
      "08    530047\n",
      "06    528539\n",
      "13    513961\n",
      "03    505455\n",
      "04    490865\n",
      "02    458295\n",
      "07    421634\n",
      "17    368845\n",
      "15    361537\n",
      "14    360142\n",
      "18    358121\n",
      "16    356185\n",
      "01    340311\n",
      "19    293378\n",
      "00    286353\n",
      "20    256392\n",
      "21    213327\n",
      "22    197808\n",
      "23    166917\n",
      "Name: purehour, dtype: int64\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "#查看数据种类，每列都有多少种，同时可以考虑是否整合长尾数据。\n",
    "list(train_df)\n",
    "for str in list(train_df):\n",
    "    print(train_df[str].value_counts())"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "id            click\n",
      "2.052565e+12  0        1.0\n",
      "4.205306e+12  1        1.0\n",
      "7.425597e+12  0        1.0\n",
      "7.750740e+12  1        1.0\n",
      "8.420996e+12  0        1.0\n",
      "                      ... \n",
      "1.844674e+19  0        1.0\n",
      "              0        1.0\n",
      "              0        1.0\n",
      "              0        1.0\n",
      "              0        1.0\n",
      "Name: click, Length: 10000000, dtype: float64\n",
      "click  click\n",
      "0      0        1.0\n",
      "1      1        1.0\n",
      "Name: click, dtype: float64\n",
      "hour      click\n",
      "14102100  0        0.825286\n",
      "          1        0.174714\n",
      "14102101  0        0.826305\n",
      "          1        0.173695\n",
      "14102102  0        0.849304\n",
      "                     ...   \n",
      "14102302  1        0.207075\n",
      "14102303  0        0.813135\n",
      "          1        0.186865\n",
      "14102304  0        0.831707\n",
      "          1        0.168293\n",
      "Name: click, Length: 106, dtype: float64\n",
      "C1    click\n",
      "1001  0        0.967807\n",
      "      1        0.032193\n",
      "1002  0        0.766385\n",
      "      1        0.233615\n",
      "1005  0        0.835260\n",
      "      1        0.164740\n",
      "1007  0        0.959661\n",
      "      1        0.040339\n",
      "1008  0        0.894614\n",
      "      1        0.105386\n",
      "1010  0        0.902586\n",
      "      1        0.097414\n",
      "1012  0        0.929366\n",
      "      1        0.070634\n",
      "Name: click, dtype: float64\n",
      "banner_pos  click\n",
      "0           0        0.837113\n",
      "            1        0.162887\n",
      "1           0        0.824209\n",
      "            1        0.175791\n",
      "2           0        0.886378\n",
      "            1        0.113622\n",
      "3           0        0.964706\n",
      "            1        0.035294\n",
      "4           0        0.834640\n",
      "            1        0.165360\n",
      "5           0        0.894969\n",
      "            1        0.105031\n",
      "7           0        0.593290\n",
      "            1        0.406710\n",
      "Name: click, dtype: float64\n",
      "site_id   click\n",
      "000aa1a4  1        1.000000\n",
      "00255fb4  0        0.871795\n",
      "          1        0.128205\n",
      "003cf93d  0        1.000000\n",
      "00476056  0        0.500000\n",
      "                     ...   \n",
      "ffcff165  1        0.143498\n",
      "ffdcedfa  0        1.000000\n",
      "fffde64d  0        1.000000\n",
      "fffe8e1c  0        0.906977\n",
      "          1        0.093023\n",
      "Name: click, Length: 5813, dtype: float64\n",
      "site_domain  click\n",
      "0035f25a     0        1.000000\n",
      "005b495a     0        0.682470\n",
      "             1        0.317530\n",
      "00606305     0        1.000000\n",
      "0064e9b7     0        0.750000\n",
      "                        ...   \n",
      "ffdc5fcd     1        0.500000\n",
      "fff32e94     1        0.555556\n",
      "             0        0.444444\n",
      "fff602a2     0        0.792711\n",
      "             1        0.207289\n",
      "Name: click, Length: 6997, dtype: float64\n",
      "site_category  click\n",
      "0569f928       0        0.965627\n",
      "               1        0.034373\n",
      "110ab22d       0        1.000000\n",
      "28905ebd       0        0.806507\n",
      "               1        0.193493\n",
      "335d28a8       0        0.915207\n",
      "               1        0.084793\n",
      "3e814130       0        0.738275\n",
      "               1        0.261725\n",
      "42a36e14       0        0.685131\n",
      "               1        0.314869\n",
      "50e219e0       0        0.858085\n",
      "               1        0.141915\n",
      "5378d028       0        0.942857\n",
      "               1        0.057143\n",
      "70fb0e29       0        0.906292\n",
      "               1        0.093708\n",
      "72722551       0        0.936184\n",
      "               1        0.063816\n",
      "74073276       0        1.000000\n",
      "75fa27f6       0        0.865688\n",
      "               1        0.134312\n",
      "76b2941d       0        0.974772\n",
      "               1        0.025228\n",
      "8fd0aea4       0        0.935484\n",
      "               1        0.064516\n",
      "9ccfa2ea       0        1.000000\n",
      "a818d37a       0        0.997478\n",
      "               1        0.002522\n",
      "bcf865d9       0        0.936508\n",
      "               1        0.063492\n",
      "c0dd3be3       0        0.857299\n",
      "               1        0.142701\n",
      "c706e647       0        1.000000\n",
      "dedf689d       0        0.807130\n",
      "               1        0.192870\n",
      "e787de0e       0        0.888283\n",
      "               1        0.111717\n",
      "f028772b       0        0.831902\n",
      "               1        0.168098\n",
      "f66779e6       0        0.975759\n",
      "               1        0.024241\n",
      "Name: click, dtype: float64\n",
      "app_id    click\n",
      "000d6291  0        0.972973\n",
      "          1        0.027027\n",
      "00110ae2  0        1.000000\n",
      "0014fe4d  0        1.000000\n",
      "00206799  0        0.500000\n",
      "                     ...   \n",
      "ffdc498e  1        1.000000\n",
      "ffef3b38  0        1.000000\n",
      "fff00b38  1        1.000000\n",
      "fff4213a  0        0.666667\n",
      "          1        0.333333\n",
      "Name: click, Length: 8112, dtype: float64\n",
      "app_domain  click\n",
      "001b87ae    0        1.000000\n",
      "002e4064    0        1.000000\n",
      "030e4250    0        1.000000\n",
      "046a728e    0        1.000000\n",
      "05975007    0        0.500000\n",
      "                       ...   \n",
      "fd5f0ee2    0        0.935065\n",
      "            1        0.064935\n",
      "fd68cbd8    0        0.982143\n",
      "            1        0.017857\n",
      "ff191ca9    0        1.000000\n",
      "Name: click, Length: 560, dtype: float64\n",
      "app_category  click\n",
      "07d7df22      0        0.813219\n",
      "              1        0.186781\n",
      "09481d60      0        0.825363\n",
      "              1        0.174637\n",
      "0bfbc358      0        0.977477\n",
      "              1        0.022523\n",
      "0f2161f8      0        0.868337\n",
      "              1        0.131663\n",
      "0f9a328c      0        0.855109\n",
      "              1        0.144891\n",
      "18b1e0be      0        0.907407\n",
      "              1        0.092593\n",
      "2281a340      0        0.980119\n",
      "              1        0.019881\n",
      "2fc4f2aa      0        1.000000\n",
      "4681bb9d      0        0.845907\n",
      "              1        0.154093\n",
      "4b7ade46      0        1.000000\n",
      "4ce2e9fc      0        0.870962\n",
      "              1        0.129038\n",
      "52de74cf      0        1.000000\n",
      "5326cf99      0        1.000000\n",
      "7113d72a      0        0.982456\n",
      "              1        0.017544\n",
      "71af18ce      0        1.000000\n",
      "75d80bbe      0        0.906098\n",
      "              1        0.093902\n",
      "79f0b860      0        0.973262\n",
      "              1        0.026738\n",
      "86c1a5a3      0        1.000000\n",
      "879c24eb      0        0.884388\n",
      "              1        0.115612\n",
      "8ded1f7a      0        0.904400\n",
      "              1        0.095600\n",
      "8df2e842      0        0.821002\n",
      "              1        0.178998\n",
      "a3c42688      0        0.950592\n",
      "              1        0.049408\n",
      "a7fd01ec      0        0.826446\n",
      "              1        0.173554\n",
      "a86a3e89      0        0.884532\n",
      "              1        0.115468\n",
      "bd41f328      0        1.000000\n",
      "cba0e20d      0        1.000000\n",
      "cef3e649      0        0.878434\n",
      "              1        0.121566\n",
      "d1327cf5      0        0.927178\n",
      "              1        0.072822\n",
      "dc97ec06      0        0.799262\n",
      "              1        0.200738\n",
      "ef03ae90      0        1.000000\n",
      "f395a87f      0        1.000000\n",
      "f95efa07      0        0.817196\n",
      "              1        0.182804\n",
      "fc6fa53d      0        0.954891\n",
      "              1        0.045109\n",
      "Name: click, dtype: float64\n",
      "device_id  click\n",
      "00000b7c   0        1.0\n",
      "00001237   0        1.0\n",
      "00002c39   0        1.0\n",
      "000048d5   0        0.5\n",
      "           1        0.5\n",
      "                   ... \n",
      "ffffb919   0        1.0\n",
      "ffffd2eb   1        1.0\n",
      "ffffde2c   0        0.5\n",
      "           1        0.5\n",
      "ffffe5da   0        1.0\n",
      "Name: click, Length: 865302, dtype: float64\n",
      "device_ip  click\n",
      "00000262   0        1.000000\n",
      "00000c31   0        1.000000\n",
      "00000d32   0        1.000000\n",
      "00001b40   0        1.000000\n",
      "00001c3b   1        1.000000\n",
      "                      ...   \n",
      "ffffeee0   0        1.000000\n",
      "fffff599   0        1.000000\n",
      "fffff971   0        1.000000\n",
      "fffffaa3   0        0.857143\n",
      "           1        0.142857\n",
      "Name: click, Length: 2489365, dtype: float64\n",
      "device_model  click\n",
      "00097428      0        0.798658\n",
      "              1        0.201342\n",
      "0009f4d7      0        0.854437\n",
      "              1        0.145563\n",
      "00161f51      0        0.785714\n",
      "                         ...   \n",
      "ffe69079      1        0.207580\n",
      "ffe72be2      0        1.000000\n",
      "ffeafe15      0        0.867816\n",
      "              1        0.132184\n",
      "fffc15b0      0        1.000000\n",
      "Name: click, Length: 12005, dtype: float64\n",
      "device_type  click\n",
      "0            0        0.766385\n",
      "             1        0.233615\n",
      "1            0        0.835666\n",
      "             1        0.164334\n",
      "4            0        0.900612\n",
      "             1        0.099388\n",
      "5            0        0.916903\n",
      "             1        0.083097\n",
      "Name: click, dtype: float64\n",
      "device_conn_type  click\n",
      "0                 0        0.828890\n",
      "                  1        0.171110\n",
      "2                 0        0.863261\n",
      "                  1        0.136739\n",
      "3                 0        0.923391\n",
      "                  1        0.076609\n",
      "5                 0        0.969321\n",
      "                  1        0.030679\n",
      "Name: click, dtype: float64\n",
      "C14    click\n",
      "375    0        0.701935\n",
      "       1        0.298065\n",
      "376    0        0.535714\n",
      "       1        0.464286\n",
      "377    0        0.712004\n",
      "                  ...   \n",
      "22116  1        0.172300\n",
      "22117  0        0.897727\n",
      "       1        0.102273\n",
      "22118  0        0.829624\n",
      "       1        0.170376\n",
      "Name: click, Length: 1966, dtype: float64\n",
      "C15   click\n",
      "120   0        1.000000\n",
      "216   0        0.883576\n",
      "      1        0.116424\n",
      "300   0        0.640006\n",
      "      1        0.359994\n",
      "320   0        0.842251\n",
      "      1        0.157749\n",
      "480   0        0.776379\n",
      "      1        0.223621\n",
      "728   0        0.942250\n",
      "      1        0.057750\n",
      "768   1        0.546154\n",
      "      0        0.453846\n",
      "1024  1        0.528302\n",
      "      0        0.471698\n",
      "Name: click, dtype: float64\n",
      "C16   click\n",
      "20    0        1.000000\n",
      "36    0        0.883576\n",
      "      1        0.116424\n",
      "50    0        0.842395\n",
      "      1        0.157605\n",
      "90    0        0.942250\n",
      "      1        0.057750\n",
      "250   0        0.600739\n",
      "      1        0.399261\n",
      "320   0        0.776379\n",
      "      1        0.223621\n",
      "480   0        0.779422\n",
      "      1        0.220578\n",
      "768   1        0.528302\n",
      "      0        0.471698\n",
      "1024  1        0.546154\n",
      "      0        0.453846\n",
      "Name: click, dtype: float64\n",
      "C17   click\n",
      "112   0        0.705547\n",
      "      1        0.294453\n",
      "122   0        0.705023\n",
      "      1        0.294977\n",
      "153   0        0.905061\n",
      "                 ...   \n",
      "2545  1        0.208290\n",
      "2546  0        0.897742\n",
      "      1        0.102258\n",
      "2547  0        0.828190\n",
      "      1        0.171810\n",
      "Name: click, Length: 445, dtype: float64\n",
      "C18  click\n",
      "0    0        0.850428\n",
      "     1        0.149572\n",
      "1    0        0.925395\n",
      "     1        0.074605\n",
      "2    0        0.696699\n",
      "     1        0.303301\n",
      "3    0        0.859175\n",
      "     1        0.140825\n",
      "Name: click, dtype: float64\n",
      "C19   click\n",
      "33    0        0.907258\n",
      "      1        0.092742\n",
      "34    0        0.768929\n",
      "      1        0.231071\n",
      "35    0        0.855898\n",
      "                 ...   \n",
      "1451  1        0.073020\n",
      "1711  0        0.766640\n",
      "      1        0.233360\n",
      "1835  0        0.876733\n",
      "      1        0.123267\n",
      "Name: click, Length: 93, dtype: float64\n",
      "C20      click\n",
      "-1       0        0.819557\n",
      "         1        0.180443\n",
      " 100000  0        0.918667\n",
      "         1        0.081333\n",
      " 100001  0        0.818612\n",
      "                    ...   \n",
      " 100244  0        0.882045\n",
      "         1        0.117955\n",
      " 100246  0        1.000000\n",
      " 100248  0        0.853011\n",
      "         1        0.146989\n",
      "Name: click, Length: 330, dtype: float64\n",
      "C21  click\n",
      "13   0        0.719527\n",
      "     1        0.280473\n",
      "15   0        0.709827\n",
      "     1        0.290173\n",
      "16   0        0.725720\n",
      "                ...   \n",
      "195  1        0.060347\n",
      "219  0        0.960000\n",
      "     1        0.040000\n",
      "221  0        0.826535\n",
      "     1        0.173465\n",
      "Name: click, Length: 84, dtype: float64\n",
      "purehour  click\n",
      "00        0        0.818127\n",
      "          1        0.181873\n",
      "01        0        0.815369\n",
      "          1        0.184631\n",
      "02        0        0.821611\n",
      "          1        0.178389\n",
      "03        0        0.819938\n",
      "          1        0.180062\n",
      "04        0        0.839783\n",
      "          1        0.160217\n",
      "05        0        0.852498\n",
      "          1        0.147502\n",
      "06        0        0.839399\n",
      "          1        0.160601\n",
      "07        0        0.821843\n",
      "          1        0.178157\n",
      "08        0        0.845850\n",
      "          1        0.154150\n",
      "09        0        0.852347\n",
      "          1        0.147653\n",
      "10        0        0.848218\n",
      "          1        0.151782\n",
      "11        0        0.844078\n",
      "          1        0.155922\n",
      "12        0        0.846285\n",
      "          1        0.153715\n",
      "13        0        0.847039\n",
      "          1        0.152961\n",
      "14        0        0.806207\n",
      "          1        0.193793\n",
      "15        0        0.810144\n",
      "          1        0.189856\n",
      "16        0        0.815441\n",
      "          1        0.184559\n",
      "17        0        0.816934\n",
      "          1        0.183066\n",
      "18        0        0.826377\n",
      "          1        0.173623\n",
      "19        0        0.836392\n",
      "          1        0.163608\n",
      "20        0        0.840592\n",
      "          1        0.159408\n",
      "21        0        0.832979\n",
      "          1        0.167021\n",
      "22        0        0.827080\n",
      "          1        0.172920\n",
      "23        0        0.821336\n",
      "          1        0.178664\n",
      "Name: click, dtype: float64\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "#查看点击占比，有点用\n",
    "for str in list(train_df):\n",
    "    print(train_df.groupby(str)['click'].value_counts(normalize=True))\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "outputs": [
    {
     "data": {
      "text/plain": "['id',\n 'click',\n 'hour',\n 'C1',\n 'banner_pos',\n 'site_id',\n 'site_domain',\n 'site_category',\n 'app_id',\n 'app_domain',\n 'app_category',\n 'device_id',\n 'device_ip',\n 'device_model',\n 'device_type',\n 'device_conn_type',\n 'C14',\n 'C15',\n 'C16',\n 'C17',\n 'C18',\n 'C19',\n 'C20',\n 'C21',\n 'purehour']"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 21
    }
   ],
   "source": [
    "list(train_df)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "outputs": [
    {
     "data": {
      "text/plain": "<seaborn.axisgrid.FacetGrid at 0x2376414c1c8>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 22
    },
    {
     "data": {
      "text/plain": "<Figure size 2562.38x360 with 7 Axes>",
      "image/png": "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t8h8GWmR7l127w5md6B7V6V3h7JD3at39e6kHe/dRPdu4Jh36/u5l7p3Lxzz6t3Z9G5P7x5C7259P/XuZrp3Nt0bvbuB3t36fu6l3h3K+qxhCr07lWPegZzu1b179JhX786md3t69xB6d+v7qXc3072z6d7o3XVh4eChasptR065beOK1Gm5MatW5+X+JMl7WmvvHZtrrT0xyZ3TraZ99IjcsenKYOOb8Zjxfi3dG/n90n2f+a+OzB2b5MuttdOS/Hm671UfkzvosZmyynog98x03zt/QpKXpTvd8bzcTUkek+RFVXVpki8muXHKdntGVT033T5eODbTWntua+2ufebsEWPcMslzs1i5/mm6g6v7JPl0utPsjnFUktsl+e4kz07y6qqa9pzNMmu+zHJWkmf2j8szk7x0ZO5JSX6xqi5Ldyrc/522UVXdOt0pqZ8x44PRqbY7N2++TMttdb5swSLdu+zeHczuQPeuSu8OZYe6V+/q3Uk72ruJ7p021JTbHPOuTveu7TGv3p1J7+rdMePpXb27EN07057qXr27eagpt+nd1endoazPGqbQu1M55h3I6d7puTXv3rU95tW7M+ldvTtmPL2rdxeie2faU92rd9eHhYOHOpBDV9OekORfk9y2qo6auG3jKT6n5TadBnTkeJ9Kkqr6jSTfmOSXt5JLktbaV5O8KptPQTstd0OSk5NcX1U3JLllVV0/ZrzWnfqzte5Uqy9Ld2rcMft5IN0LN0nekOReY+9fVd2hH+dvstm03OeS3Lu1dnBF8quSfO/I+/f+1toDW2v3T3eq1rEruz9bVcf3+3t8vw87qqqekOTHkjyutbbIqVb/IlNOWTzFtyQ5KcmH+/lyQpLLq+pO84Kttc+21r7aulM5/3k2z5dZDiR5fT/XLk138HPcmGD/uv3JdM/7WE9I8vr++mvG7mdr7ZrW2kNba6eme0P/xJT9OTrd3L+wtXZwjLnzZUZurlm5efNlxHhj58tYi3Tvsnt37pjb3L2r0ruzsvO6V+/q3Uk71rv9PunezRzzOuadvH+LdK/enULvfm2f9O5melfvTt4/x7yb6d4ZfNawML272r07K+uzhvn07s0c844bT/fq3qGczxrm07s307vjxtO7enco57OGcXTvzXzWsPx1DfuShYOH+kCSu1fVSVV1TLqV2RcleWe6U7om3Yvvr0fm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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.catplot(x='purehour',data=train_df,hue='click',col='banner_pos',kind='count',ci= None)\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x23726c93708>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 23
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEECAYAAAA4Qc+SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAciElEQVR4nO3dfXRV9b3n8ffHIFAFH4rYUQMmVBSiPAghSkUEBUXqioOWCnU6WPWybLW14/QB20qtVZe17W1t63TJzPXhOlYorj5g5aq1yFzFKokFRUAQgUq0WkSlyIME+M4fOdBDOEkO4SQ7Z/N5rZVl9m//ss/HAJ/8srP3jiICMzMrfockHcDMzArDhW5mlhIudDOzlHChm5mlhAvdzCwlXOhmZinRKakXPuaYY6KsrCyplzczK0ovvvjiuxHRM9e+xAq9rKyM2trapF7ezKwoSfprU/t8ysXMLCVc6GZmKeFCNzNLicTOoedSX19PXV0d27ZtSzrKQalr166UlpZy6KGHJh3FzFqhQxV6XV0d3bt3p6ysDElJxzmoRAQbNmygrq6O8vLypOOYWSt0qFMu27Zto0ePHi7zBEiiR48e/u7IrIh1qEIHXOYJ8uferLh1uEI3M7PW6VDn0PNx8803061bN772ta/t18dNnz6dkSNHMmbMmDZK1vZuv/12vvWtbyUdw8yaMeCBATnHl0xZ0uavndcKXdI4SSskrZI0Lcf+n0hanHlbKemDwkc9MLfccktRlzk0FLqZWVNaLHRJJcDdwIVABTBZUkX2nIj4HxExOCIGAz8HflPIkLfddhunnHIKY8aMYcWKFQC8/vrrjBs3jqFDh3L22Wfz6quvsnHjRsrKyti1axcAW7ZsoVevXtTX13PFFVfwyCOPAFBTU8OnPvUpBg0aRFVVFZs2bWLnzp18/etfZ9iwYQwcOJB77rmn2Ux33nknAwYMYNCgQUyb1vA1bvHixZx55pkMHDiQCRMm8P777wMwatQovvnNb1JVVcXJJ5/MM888A8D999/PJZdcwrhx4+jbty/f+MY3mny9adOmsXXrVgYPHszll1/OTTfdxF133bVn/7e//W1+9rOfMX/+fEaOHMmECROoqKjgmmuu2fP5ePLJJxk+fDhDhgxh4sSJfPjhh6354zCzjioimn0DhgNPZG3fCNzYzPzngLEtHXfo0KHR2LJly/YZq62tjdNOOy02b94cGzdujE9+8pPxwx/+MM4999xYuXJlREQ8//zzMXr06IiIqK6ujnnz5kVExMyZM+Oqq66KiIgpU6bE7Nmz46OPPory8vJYuHBhRERs3Lgx6uvr45577onvf//7ERGxbdu2GDp0aKxevXqfPBERc+fOjeHDh8fmzZsjImLDhg0RETFgwICYP39+RETcdNNNcf3110dExDnnnBM33HBDREQ89thjcd5550VExH333Rfl5eXxwQcfxNatW6N3797xxhtv5HzNiIjDDz98z/tr1qyJ008/PSIidu7cGX369Il33303nn766ejSpUu8/vrrsWPHjhgzZkzMnj071q9fH2effXZ8+OGHERFxxx13xPe+9728/gzMLH+n3X9azrdCAWqjiV7N5xz6CcC6rO064IxcEyWdCJQD81r7BaaxZ555hgkTJnDYYYcBUF1dzbZt23juueeYOHHinnkfffQRAJdddhmzZs1i9OjRzJw5ky996Ut7HW/FihUcd9xxDBs2DIAjjjgCaFi9vvzyy3tW8Rs3buS1117LeU32U089xRe+8IU9mT7+8Y+zceNGPvjgA8455xwApkyZsle+Sy65BIChQ4eydu3aPePnnXceRx55JAAVFRX89a9/pVevXi1+XsrKyujRoweLFi3inXfe4fTTT6dHjx4AVFVV0adPHwAmT57Ms88+S9euXVm2bBlnnXUWANu3b2f48OEtvo6ZFY98Cj3XtWzRxNxJwCMRsTPngaSpwFSA3r175xUw83F7be/atYujjjqKxYsX7zO3urqaG2+8kffee48XX3yRc889d+/gETkvz4sIfv7zn3PBBRe0mKepYzSnS5cuAJSUlLBjx459xnPta8nVV1/N/fffz9tvv82VV165Z7xxNklEBGPHjuXhhx/er9xmVjzy+aFoHZC9ZCwF3mpi7iSgycaIiBkRURkRlT175nyc7z5GjhzJb3/7W7Zu3cqmTZt49NFHOeywwygvL2f27Nm7j8tLL70EQLdu3aiqquL666/noosuoqSkZK/j9evXj7feeouamhoANm3axI4dO7jgggv45S9/SX19PQArV65k8+bNOTOdf/753HvvvWzZsgWA9957jyOPPJKjjz56z/nxBx98cM9qvVAOPfTQPfkAJkyYwOOPP05NTc1eX4gW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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#不同位置不同连接种类有些差别\n",
    "train_df.pivot_table('click', index='banner_pos', columns=['device_conn_type']).plot(kind='bar')\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x23726d0c348>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 24
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEECAYAAAA4Qc+SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAYlElEQVR4nO3df5BU5Z3v8fdHEIGIuCjkioMOrqxA5PcMXkNggUVBsYZrbSjBG5W4XHKjRE2uuYu7CWFNrBBNrbESbyJZSXSNjj9KAyqrmBjir1UGooIICCorLZVISAoQ5cfg9/4xDWmGHqYZeuZMn/68qij6POeZc77VDJ95+plznqOIwMzMSt9xSRdgZmbF4UA3M0sJB7qZWUo40M3MUsKBbmaWEg50M7OU6JjUiU899dSorKxM6vRmZiVp5cqVf4yInvn2JRbolZWVrFixIqnTm5mVJEn/1dQ+T7mYmaWEA93MLCUc6GZmKZHYHHo++/btI5PJsHv37qRLSVznzp2pqKjg+OOPT7oUMysR7SrQM5kM3bp1o7KyEklJl5OYiGDbtm1kMhn69u2bdDlmViLa1ZTL7t27OeWUU8o6zAEkccopp/iTipkdlXYV6EDZh/kBfh/M7Gi1u0A3M7OWaVdz6IWYN28eJ554IjfeeONRfd3cuXMZM2YMEyZMOOYaNm3axEsvvcTll19+zMcys/Kwtv+AvO0D1q0t2jnKZoR+8803FyXMoSHQ77///qIcy8ysWEoi0G+55RbOOeccJkyYwPr16wF4++23mTRpEiNGjGD06NGsW7eO7du3U1lZySeffALARx99RJ8+fdi3bx8zZszgkUceAaCuro7PfvazDBkyhJEjR7Jz507279/P17/+daqrqxk8eDB33XVXk/XMmTOH559/nqFDh3L77bczevRoXnvttYP7R40axapVq5g3bx5XXHEF48ePp1+/fvz0pz892Oe22247eK5vfetbrfG2mVmZafdTLitXrqS2tpZXX32V+vp6hg8fzogRI5g1axY/+clP6NevH6+88grXXHMNzz77LEOGDOG3v/0t48aN4/HHH2fixImHXMu9d+9eLrvsMh588EGqq6vZsWMHXbp04e6776Z79+7U1dWxZ88eRo0axYUXXpj3ssH58+fz/e9/nyeeeAKAHj168POf/5wf/OAH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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.pivot_table('click', index='banner_pos', columns=['device_type']).plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x23726dfaf88>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 25
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEECAYAAAAmiP8hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAaGklEQVR4nO3df5xVdb3v8dfb4acHREU8Vxxo4IDyI34Iw6CFhCk/NC9eMALzFKZerpk9OreHFuVNjcyjHS3NflzpZHh5eGPSY4ZFqBykY3iPMyADJIqgUIyUESihgMwwn/vH3tIwbmbWhj1sZvF+Ph7zYO+1vt+1PrNmeO81373WdysiMDOz9Dqh2AWYmVnrctCbmaWcg97MLOUc9GZmKeegNzNLOQe9mVnKtSt2AU2ddtppUVZWVuwyzMzalJUrV/4lInrkWnfMBX1ZWRkrVqwodhlmZm2KpN8fap2HbszMUs5Bb2aWcg56M7OUO+bG6M3s2FZXV0dtbS179+4tdinHpU6dOlFaWkr79u0T93HQm1leamtr6dq1K2VlZUgqdjnHlYhg+/bt1NbW0qdPn8T9PHRjZnnZu3cv3bt3d8gXgSS6d++e919TDnozy5tDvngO59g76M3MUu64GKMvm/2rxG033/mxVqzE7Phw22230aVLF2688ca8+t1yyy2MHTuWiy66qJUqa3133HEHX/3qV4tdxkF8Rm9mx4w5c+a06ZCHTNAfaxz0ZlYQ3/zmNzn77LO56KKLWL9+PQCvvvoqkyZNYuTIkZx//vm8/PLL7Ny5k7KyMhoaGgDYvXs3vXr1oq6ujquuuopHH30UgOrqaj70oQ8xbNgwKioq2LVrF/v37+emm25i1KhRDB06lAceeKDZmr71rW8xZMgQhg0bxuzZswGoqanh3HPPZejQoUyZMoU333wTgHHjxvHlL3+ZiooKzjrrLJ599lkA5s2bx9SpU5k0aRL9+/fnS1/60iH3N3v2bPbs2cPw4cO58sor+drXvsZ99913YP3NN9/Md7/7XZYtW8bYsWOZMmUKgwYN4rrrrjtwPJ566inOO+88RowYwbRp03j77bcP58dxEAe9mR2xlStXsmDBAlatWsVjjz1GdXU1ALNmzeL+++9n5cqV3H333Vx//fV069aNYcOG8Zvf/AaAJ554gokTJx50Xfi+ffuYPn069913H6tXr2bJkiV07tyZH//4x3Tr1o3q6mqqq6v50Y9+xKZNm3LW9Otf/5rHH3+c559/ntWrVx8I6E9/+tPcddddrFmzhiFDhvD1r3/9QJ/6+nqqqqq49957D1peU1NDZWUla9eupbKyki1btuTc55133knnzp2pqanh4Ycf5pprruGhhx4CoKGhgQULFnDllVcCUFVVxT333MPatWt59dVXeeyxx/jLX/7C7bffzpIlS3jhhRcoLy/n29/+9uH+WA44Lsbozax1Pfvss0yZMoUTTzwRgMmTJ7N3716ee+45pk2bdqDdu+++C8D06dOprKzkggsuYMGCBVx//fUHbW/9+vWcccYZjBo1CoCTTjoJyJztrlmz5sBZ/86dO9mwYUPOa8qXLFnCZz7zmQM1nXrqqezcuZO33nqLj3zkIwDMnDnzoPqmTp0KwMiRI9m8efOB5RdeeCHdunUDYNCgQfz+97+nV69eLR6XsrIyunfvzqpVq3jjjTc455xz6N69OwAVFRX07dsXgCuuuILf/va3dOrUiXXr1vHhD38YyLzgnXfeeS3upyUOejMriKaX/TU0NHDyySdTU1PzvraTJ0/mK1/5Cjt27GDlypV89KMfPWh9ROS8jDAiuP/++5k4cWKL9RxqG83p2LEjACUlJdTX179vea51Lbn22muZN28ef/rTn7j66qsPLG9amyQigvHjx/PTn/40r7pb4qEbMztiY8eO5ec//zl79uxh165dPPHEE5x44on06dOHRx55BMgE7+rVqwHo0qULFRUVfOELX+DSSy+lpKTkoO0NGDCArVu3HhgC2rVrF/X19UycOJEf/vCH1NXVAfDKK6/wzjvv5KxpwoQJPPjgg+zevRuAHTt20K1bN0455ZQD4+/z588/cHZfKO3btz9QH8CUKVNYvHgx1dXVB71AVVVVsWnTJhoaGqisrGTMmDGce+65LF++nI0bNwKZ9y9eeeWVI67JZ/RmdsRGjBjB9OnTGT58OB/4wAc4//zzAXj44Yf57Gc/y+23305dXR0zZsxg2LBhQGb4Ztq0aSxbtux92+vQoQOVlZV8/vOfZ8+ePXTu3JklS5Zw7bXXsnnzZkaMGEFE0KNHDx5//PGcNU2aNImamhrKy8vp0KEDl1xyCXfccQcPPfQQ1113Hbt376Zv37785Cc/KeixmDVrFkOH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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#电脑，手机，笔记本，平板等。。这东西\n",
    "train_df.pivot_table('click', index='device_type', columns=['device_conn_type']).plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "outputs": [
    {
     "data": {
      "text/plain": "device_type\n0     True\n1    False\n4     True\n5     True\ndtype: bool"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 26
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#站点类别对设备种类差别很大。wap/http？\n",
    "train_df.pivot_table('click', index='site_category', columns=['device_type']).plot(kind='bar')\n",
    "train_df.pivot_table('click', index='site_category', columns=['device_type']).isnull().any()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "outputs": [
    {
     "data": {
      "text/plain": "site_category\n0569f928     True\n110ab22d     True\n28905ebd     True\n335d28a8     True\n3e814130     True\n42a36e14     True\n50e219e0    False\n5378d028     True\n70fb0e29     True\n72722551     True\n74073276     True\n75fa27f6     True\n76b2941d     True\n8fd0aea4     True\n9ccfa2ea     True\na818d37a     True\nbcf865d9     True\nc0dd3be3     True\nc706e647     True\ndedf689d     True\ne787de0e     True\nf028772b     True\nf66779e6     True\ndtype: bool"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 27
    }
   ],
   "source": [
    "train_df.pivot_table('click', index='device_type', columns=['site_category']).isnull().any()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x23775e98188>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 35
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.pivot_table('click', index='hour', columns=['banner_pos']).plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x23763f5d948>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 29
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#没有意义\n",
    "sns.countplot(x=\"app_domain\",hue='click',data=train_df)\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "id            click\n",
      "2.052565e+12  0        1\n",
      "4.205306e+12  1        1\n",
      "7.425597e+12  0        1\n",
      "7.750740e+12  1        1\n",
      "8.420996e+12  0        1\n",
      "                      ..\n",
      "1.844674e+19  0        1\n",
      "              0        1\n",
      "              0        1\n",
      "              0        1\n",
      "              0        1\n",
      "Name: click, Length: 10000000, dtype: int64\n",
      "click  click\n",
      "0      0        8338643\n",
      "1      1        1661357\n",
      "Name: click, dtype: int64\n",
      "hour      click\n",
      "14102100  0         98214\n",
      "          1         20792\n",
      "14102101  0        113569\n",
      "          1         23873\n",
      "14102102  0        176206\n",
      "                    ...  \n",
      "14102302  1         30643\n",
      "14102303  0        142375\n",
      "          1         32719\n",
      "14102304  0         20964\n",
      "          1          4242\n",
      "Name: click, Length: 106, dtype: int64\n",
      "C1    click\n",
      "1001  0           1924\n",
      "      1             64\n",
      "1002  0         343795\n",
      "      1         104798\n",
      "1005  0        7784080\n",
      "      1        1535273\n",
      "1007  0          12347\n",
      "      1            519\n",
      "1008  0           3455\n",
      "      1            407\n",
      "1010  0         176174\n",
      "      1          19014\n",
      "1012  0          16868\n",
      "      1           1282\n",
      "Name: click, dtype: int64\n",
      "banner_pos  click\n",
      "0           0        6267804\n",
      "            1        1219600\n",
      "1           0        2061822\n",
      "            1         439756\n",
      "2           0           2863\n",
      "            1            367\n",
      "3           0             82\n",
      "            1              3\n",
      "4           0           1171\n",
      "            1            232\n",
      "5           0           3451\n",
      "            1            405\n",
      "7           0           1450\n",
      "            1            994\n",
      "Name: click, dtype: int64\n",
      "site_id   click\n",
      "000aa1a4  1         1\n",
      "00255fb4  0        34\n",
      "          1         5\n",
      "003cf93d  0         7\n",
      "00476056  0         1\n",
      "                   ..\n",
      "ffcff165  1        32\n",
      "ffdcedfa  0         5\n",
      "fffde64d  0         6\n",
      "fffe8e1c  0        39\n",
      "          1         4\n",
      "Name: click, Length: 5813, dtype: int64\n",
      "site_domain  click\n",
      "0035f25a     0          1\n",
      "005b495a     0        619\n",
      "             1        288\n",
      "00606305     0          6\n",
      "0064e9b7     0          3\n",
      "                     ... \n",
      "ffdc5fcd     1          1\n",
      "fff32e94     1          5\n",
      "             0          4\n",
      "fff602a2     0        348\n",
      "             1         91\n",
      "Name: click, Length: 6997, dtype: int64\n",
      "site_category  click\n",
      "0569f928       0           8765\n",
      "               1            312\n",
      "110ab22d       0              2\n",
      "28905ebd       0        1465951\n",
      "               1         351703\n",
      "335d28a8       0          40540\n",
      "               1           3756\n",
      "3e814130       0         543470\n",
      "               1         192665\n",
      "42a36e14       0            235\n",
      "               1            108\n",
      "50e219e0       0        3577787\n",
      "               1         591715\n",
      "5378d028       0             99\n",
      "               1              6\n",
      "70fb0e29       0           7476\n",
      "               1            773\n",
      "72722551       0          12983\n",
      "               1            885\n",
      "74073276       0              5\n",
      "75fa27f6       0          24763\n",
      "               1           3842\n",
      "76b2941d       0          27008\n",
      "               1            699\n",
      "8fd0aea4       0             87\n",
      "               1              6\n",
      "9ccfa2ea       0             23\n",
      "a818d37a       0           1582\n",
      "               1              4\n",
      "bcf865d9       0            236\n",
      "               1             16\n",
      "c0dd3be3       0           5491\n",
      "               1            914\n",
      "c706e647       0              2\n",
      "dedf689d       0           3917\n",
      "               1            936\n",
      "e787de0e       0            326\n",
      "               1             41\n",
      "f028772b       0        2527568\n",
      "               1         510732\n",
      "f66779e6       0          90327\n",
      "               1           2244\n",
      "Name: click, dtype: int64\n",
      "app_id    click\n",
      "000d6291  0        36\n",
      "          1         1\n",
      "00110ae2  0         3\n",
      "0014fe4d  0         2\n",
      "00206799  0         1\n",
      "                   ..\n",
      "ffdc498e  1         3\n",
      "ffef3b38  0         8\n",
      "fff00b38  1         1\n",
      "fff4213a  0         2\n",
      "          1         1\n",
      "Name: click, Length: 8112, dtype: int64\n",
      "app_domain  click\n",
      "001b87ae    0          1\n",
      "002e4064    0          9\n",
      "030e4250    0          1\n",
      "046a728e    0          1\n",
      "05975007    0          1\n",
      "                    ... \n",
      "fd5f0ee2    0        144\n",
      "            1         10\n",
      "fd68cbd8    0         55\n",
      "            1          1\n",
      "ff191ca9    0          1\n",
      "Name: click, Length: 560, dtype: int64\n",
      "app_category  click\n",
      "07d7df22      0        5117000\n",
      "              1        1175277\n",
      "09481d60      0          34690\n",
      "              1           7340\n",
      "0bfbc358      0            217\n",
      "              1              5\n",
      "0f2161f8      0        2086538\n",
      "              1         316376\n",
      "0f9a328c      0           1682\n",
      "              1            285\n",
      "18b1e0be      0             49\n",
      "              1              5\n",
      "2281a340      0            493\n",
      "              1             10\n",
      "2fc4f2aa      0              5\n",
      "4681bb9d      0           1054\n",
      "              1            192\n",
      "4b7ade46      0              4\n",
      "4ce2e9fc      0           5015\n",
      "              1            743\n",
      "52de74cf      0              1\n",
      "5326cf99      0             14\n",
      "7113d72a      0             56\n",
      "              1              1\n",
      "71af18ce      0              2\n",
      "75d80bbe      0           8559\n",
      "              1            887\n",
      "79f0b860      0            182\n",
      "              1              5\n",
      "86c1a5a3      0              2\n",
      "879c24eb      0           5240\n",
      "              1            685\n",
      "8ded1f7a      0         220387\n",
      "              1          23296\n",
      "8df2e842      0            344\n",
      "              1             75\n",
      "a3c42688      0           2809\n",
      "              1            146\n",
      "a7fd01ec      0            100\n",
      "              1             21\n",
      "a86a3e89      0            812\n",
      "              1            106\n",
      "bd41f328      0              1\n",
      "cba0e20d      0              1\n",
      "cef3e649      0         572602\n",
      "              1          79242\n",
      "d1327cf5      0          35968\n",
      "              1           2825\n",
      "dc97ec06      0           4113\n",
      "              1           1033\n",
      "ef03ae90      0              1\n",
      "f395a87f      0              1\n",
      "f95efa07      0         234795\n",
      "              1          52523\n",
      "fc6fa53d      0           5906\n",
      "              1            279\n",
      "Name: click, dtype: int64\n",
      "device_id  click\n",
      "00000b7c   0        1\n",
      "00001237   0        6\n",
      "00002c39   0        1\n",
      "000048d5   0        1\n",
      "           1        1\n",
      "                   ..\n",
      "ffffb919   0        1\n",
      "ffffd2eb   1        3\n",
      "ffffde2c   0        1\n",
      "           1        1\n",
      "ffffe5da   0        1\n",
      "Name: click, Length: 865302, dtype: int64\n",
      "device_ip  click\n",
      "00000262   0         1\n",
      "00000c31   0         2\n",
      "00000d32   0         2\n",
      "00001b40   0         3\n",
      "00001c3b   1         2\n",
      "                    ..\n",
      "ffffeee0   0         1\n",
      "fffff599   0         1\n",
      "fffff971   0         3\n",
      "fffffaa3   0        12\n",
      "           1         2\n",
      "Name: click, Length: 2489365, dtype: int64\n",
      "device_model  click\n",
      "00097428      0         833\n",
      "              1         210\n",
      "0009f4d7      0        1714\n",
      "              1         292\n",
      "00161f51      0          11\n",
      "                       ... \n",
      "ffe69079      1         356\n",
      "ffe72be2      0           1\n",
      "ffeafe15      0         151\n",
      "              1          23\n",
      "fffc15b0      0           1\n",
      "Name: click, Length: 12005, dtype: int64\n",
      "device_type  click\n",
      "0            0         343795\n",
      "             1         104798\n",
      "1            0        7818674\n",
      "             1        1537545\n",
      "4            0         154481\n",
      "             1          17048\n",
      "5            0          21693\n",
      "             1           1966\n",
      "Name: click, dtype: int64\n",
      "device_conn_type  click\n",
      "0                 0        7392697\n",
      "                  1        1526092\n",
      "2                 0         760906\n",
      "                  1         120526\n",
      "3                 0         173097\n",
      "                  1          14361\n",
      "5                 0          11943\n",
      "                  1            378\n",
      "Name: click, dtype: int64\n",
      "C14    click\n",
      "375    0        11756\n",
      "       1         4992\n",
      "376    0           15\n",
      "       1           13\n",
      "377    0        10789\n",
      "                ...  \n",
      "22116  1          209\n",
      "22117  0           79\n",
      "       1            9\n",
      "22118  0         1081\n",
      "       1          222\n",
      "Name: click, Length: 1966, dtype: int64\n",
      "C15   click\n",
      "120   0             86\n",
      "216   0         180034\n",
      "      1          23722\n",
      "300   0         298875\n",
      "      1         168113\n",
      "320   0        7836816\n",
      "      1        1467794\n",
      "480   0            802\n",
      "      1            231\n",
      "728   0          21896\n",
      "      1           1342\n",
      "768   1             71\n",
      "      0             59\n",
      "1024  1             84\n",
      "      0             75\n",
      "Name: click, dtype: int64\n",
      "C16   click\n",
      "20    0             86\n",
      "36    0         180034\n",
      "      1          23722\n",
      "50    0        7875431\n",
      "      1        1473425\n",
      "90    0          21896\n",
      "      1           1342\n",
      "250   0         232769\n",
      "      1         154702\n",
      "320   0            802\n",
      "      1            231\n",
      "480   0          27491\n",
      "      1           7780\n",
      "768   1             84\n",
      "      0             75\n",
      "1024  1             71\n",
      "      0             59\n",
      "Name: click, dtype: int64\n",
      "C17   click\n",
      "112   0        33493\n",
      "      1        13978\n",
      "122   0        38643\n",
      "      1        16168\n",
      "153   0         6635\n",
      "               ...  \n",
      "2545  1          397\n",
      "2546  0          676\n",
      "      1           77\n",
      "2547  0         4348\n",
      "      1          902\n",
      "Name: click, Length: 445, dtype: int64\n",
      "C18  click\n",
      "0    0        4276737\n",
      "     1         752188\n",
      "1    0         178952\n",
      "     1          14427\n",
      "2    0         951614\n",
      "     1         414275\n",
      "3    0        2931340\n",
      "     1         480467\n",
      "Name: click, dtype: int64\n",
      "C19   click\n",
      "33    0            225\n",
      "      1             23\n",
      "34    0          61176\n",
      "      1          18384\n",
      "35    0        4179347\n",
      "                ...   \n",
      "1451  1           8300\n",
      "1711  0          22737\n",
      "      1           6921\n",
      "1835  0          16444\n",
      "      1           2312\n",
      "Name: click, Length: 93, dtype: int64\n",
      "C20      click\n",
      "-1       0        4161855\n",
      "         1         916319\n",
      " 100000  0          25335\n",
      "         1           2243\n",
      " 100001  0           1038\n",
      "                   ...   \n",
      " 100244  0            673\n",
      "         1             90\n",
      " 100246  0             15\n",
      " 100248  0           3215\n",
      "         1            554\n",
      "Name: click, Length: 330, dtype: int64\n",
      "C21  click\n",
      "13   0          45146\n",
      "     1          17598\n",
      "15   0         184942\n",
      "     1          75603\n",
      "16   0          34537\n",
      "               ...   \n",
      "195  1            233\n",
      "219  0            144\n",
      "     1              6\n",
      "221  0        1089030\n",
      "     1         228555\n",
      "Name: click, Length: 84, dtype: int64\n",
      "purehour  click\n",
      "00        0        234273\n",
      "          1         52080\n",
      "01        0        277479\n",
      "          1         62832\n",
      "02        0        376540\n",
      "          1         81755\n",
      "03        0        414442\n",
      "          1         91013\n",
      "04        0        412220\n",
      "          1         78645\n",
      "05        0        477567\n",
      "          1         82630\n",
      "06        0        443655\n",
      "          1         84884\n",
      "07        0        346517\n",
      "          1         75117\n",
      "08        0        448340\n",
      "          1         81707\n",
      "09        0        578488\n",
      "          1        100212\n",
      "10        0        541416\n",
      "          1         96882\n",
      "11        0        474729\n",
      "          1         87694\n",
      "12        0        467378\n",
      "          1         84892\n",
      "13        0        435345\n",
      "          1         78616\n",
      "14        0        290349\n",
      "          1         69793\n",
      "15        0        292897\n",
      "          1         68640\n",
      "16        0        290448\n",
      "          1         65737\n",
      "17        0        301322\n",
      "          1         67523\n",
      "18        0        295943\n",
      "          1         62178\n",
      "19        0        245379\n",
      "          1         47999\n",
      "20        0        215521\n",
      "          1         40871\n",
      "21        0        177697\n",
      "          1         35630\n",
      "22        0        163603\n",
      "          1         34205\n",
      "23        0        137095\n",
      "          1         29822\n",
      "Name: click, dtype: int64\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "#看类别，点没点\n",
    "for str in list(train_df):\n",
    "    print(train_df.groupby(str)['click'].value_counts())\n",
    "    \n",
    "    "
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "outputs": [
    {
     "data": {
      "text/plain": "0    107234\n1     30140\n2        47\n5        12\n7         8\n4         1\nName: banner_pos, dtype: int64"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 97
    }
   ],
   "source": [
    "#mmp，就一个，坑爹\n",
    "dfda = train_df2.loc[train_df2['hour']==14102101]\n",
    "dfda['banner_pos'].value_counts()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x23761e75808>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 62
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ4AAAEHCAYAAACeFSCEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAat0lEQVR4nO3dfZBV1Z3u8e8TgUAciby0XmKj4Mho1IjRBlEziSMJIpMr1lwdoSaCSoqpXPRqeScJmUz5gmOVuck1CZPEChWJkPGCjNGRUQQJyk1pfKFRIwJR2peRFkca2ijGqwbmd/84q/XQnqbPafqs000/n6pTZ+/fXnutBaX9sPdZvY8iAjMzs1w+VusJmJlZ3+LgMTOzrBw8ZmaWlYPHzMyycvCYmVlW/Wo9gZ5u+PDhMWrUqFpPw8ysV1m/fv2OiKgrdczB04lRo0bR2NhY62mYmfUqkv69o2O+1WZmZlk5eMzMLCsHj5mZZeXPeMzMeqg//vGPNDc38+6779Z6Kh0aOHAg9fX19O/fv+xzHDxmZj1Uc3MzhxxyCKNGjUJSrafzERHBzp07aW5uZvTo0WWf51ttZmY91LvvvsuwYcN6ZOgASGLYsGEVX5E5eMzMerCeGjptujI/B4+ZmWXl4DEzOwBdd911fO973wPgmmuu4Ve/+lWHbW+77TYuv/zyXFPz4oKuOPXri7utr/XfndFtfZmZlTJv3rxaT2EvvuIxMzsALF68mJNOOomxY8dy8cUX73Xskksu4c477wRg3bp1nHHGGYwdO5bx48eza9euvdred999nH766ezYsaNqc/UVj5lZL7dx40ZuvPFGHnnkEYYPH05rayvz58//SLv333+fiy66iDvuuINx48bx1ltvMWjQoA+O33333dx8882sWLGCIUOGVG2+Dh4zs17uwQcf5IILLmD48OEADB06tGS75557jhEjRjBu3DgABg8e/MGxhx56iMbGRh544IG96tXgW21mZr1cRJS1rHlf7Y4++mh27drF888/393T+4iqBo+kQyXdKel3kjZLOl3SUEmrJW1J70NSW0maL6lJ0jOSTinqZ2Zqv0XSzKL6qZI2pHPmK/2NdmUMM7PeauLEiSxbtoydO3cC0NraWrLdcccdx7Zt21i3bh0Au3btYvfu3QAcddRR3HXXXcyYMYONGzdWdb7VvuL5IbAyIo4DxgKbgbnAmogYA6xJ+wDnAmPSazZwCxRCBLgWOA0YD1zbFiSpzeyi8yanekVjmJn1ZieccALf/va3+cIXvsDYsWO5+uqrS7YbMGAAd9xxB1dccQVjx47lS1/60l5PHTj22GO5/fbbufDCC3nhhReqNl9FRHU6lgYDvwWOjqJBJD0HnBURr0kaAayNiGMl/TRtLylu1/aKiL9N9Z8Ca9ProRRqSJre1q7SMSLitY7+HA0NDdH+i+C8nNrMcti8eTOf/vSnaz2NTpWap6T1EdFQqn01r3iOBlqAn0t6StLPJB0MHN72gz69H5baHwFsLTq/OdX2VW8uUacLY5iZWSbVDJ5+wCnALRHxWeAPfHjLq5RSn3hFF+r7UtY5kmZLapTU2NLS0kmXZmZWiWoGTzPQHBGPp/07KQTR6+n2F+l9e1H7kUXn1wPbOqnXl6jThTH2EhELIqIhIhrq6urK/gObmVnnqhY8EfEfwFZJx6bSRGATsBxoW5k2E7gnbS8HZqSVZxOAN9NtslXAJElD0qKCScCqdGyXpAlpNduMdn1VMoaZmWVS7V8gvQK4XdIA4EXgUgpht0zSLOAV4MLUdgUwBWgC3kltiYhWSTcA61K7eRHRtlbwa8BtwCDg/vQCuKmSMczMLJ+qBk9EPA2UWtUwsUTbAOZ00M9CYGGJeiNwYon6zkrHMDOzPPzIHDOzXqI7f5UDyvt1jpUrV3LllVeyZ88evvrVrzJ37r7WiJXHj8wxM7OS9uzZw5w5c7j//vvZtGkTS5YsYdOmTfvdr4PHzMxKeuKJJzjmmGM4+uijGTBgANOmTeOee+7p/MROOHjMzKykV199lZEjP/wNlPr6el599dX97tfBY2ZmJZV6pFo5T8HujIPHzMxKqq+vZ+vWD58y1tzczKc+9an97tfBY2ZmJY0bN44tW7bw0ksv8f7777N06VLOO++8/e7Xy6nNzHqJ3E+z79evHz/60Y8455xz2LNnD5dddhknnHDC/vfbDXMzM7MD1JQpU5gyZUq39ulbbWZmlpWDx8zMsnLwmJlZVg4eMzPLysFjZmZZOXjMzCwrL6c2M+slXpn3mW7t78hrNnTa5rLLLuPee+/lsMMO49lnn+2WcX3FY2ZmHbrkkktYuXJlt/bp4DEzsw59/vOfZ+jQod3ap4PHzMyycvCYmVlWDh4zM8vKwWNmZll5ObWZWS9RzvLn7jZ9+nTWrl3Ljh07qK+v5/rrr2fWrFn71aeDx8zMOrRkyZJu77Oqt9okvSxpg6SnJTWm2lBJqyVtSe9DUl2S5ktqkvSMpFOK+pmZ2m+RNLOofmrqvymdq66OYWZmeeT4jOcvIuLkiGhI+3OBNRExBliT9gHOBcak12zgFiiECHAtcBowHri2LUhSm9lF503uyhhmZpZPLRYXTAUWpe1FwPlF9cVR8BhwqKQRwDnA6ohojYg3gNXA5HRscEQ8GhEBLG7XVyVjmJn1SIUfbz1XV+ZX7eAJ4AFJ6yXNTrXDI+I1gPR+WKofAWwtOrc51fZVby5R78oYZmY9zsCBA9m5c2ePDZ+IYOfOnQwcOLCi86q9uODMiNgm6TBgtaTf7aOtStSiC/V9KeucFJKzAY488shOujQzq476+nqam5tpaWmp9VQ6NHDgQOrr6ys6p6rBExHb0vt2SXdT+IzmdUkjIuK1dJtre2reDIwsOr0e2JbqZ7Wrr031+hLt6cIY7ee9AFgA0NDQ0DP/qWFmB7z+/fszevToWk+j21XtVpukgyUd0rYNTAKeBZYDbSvTZgL3pO3lwIy08mwC8Ga6TbYKmCRpSFpUMAlYlY7tkjQhrWab0a6vSsYwM7NMqnnFczhwd1rh3A/4PxGxUtI6YJmkWcArwIWp/QpgCtAEvANcChARrZJuANaldvMiojVtfw24DRgE3J9eADdVMoaZmeVTteCJiBeBsSXqO4GJJeoBzOmgr4XAwhL1RuDE7hjDzMzy8LPazMwsKwePmZll5eAxM7OsHDxmZpaVg8fMzLJy8JiZWVYOHjMzy8rBY2ZmWTl4zMwsKwePmZll5eAxM7OsHDxmZpaVg8fMzLJy8JiZWVYOHjMzy8rBY2ZmWTl4zMwsKwePmZll5eAxM7OsHDxmZpaVg8fMzLJy8JiZWVYOHjMzy8rBY2ZmWVU9eCQdJOkpSfem/dGSHpe0RdIdkgak+sfTflM6Pqqoj2+l+nOSzimqT061Jklzi+oVj2FmZnnkuOK5EthctP8d4PsRMQZ4A5iV6rOANyLiGOD7qR2SjgemAScAk4GfpDA7CPgxcC5wPDA9ta14DDMzy6eqwSOpHvhL4GdpX8DZwJ2pySLg/LQ9Ne2Tjk9M7acCSyPivYh4CWgCxqdXU0S8GBHvA0uBqV0cw8zMMqn2Fc8PgG8A/5n2hwG/j4jdab8ZOCJtHwFsBUjH30ztP6i3O6ejelfGMDOzTKoWPJK+DGyPiPXF5RJNo5Nj3VXvbPwPSJotqVFSY0tLS4lTzMysq6p5xXMmcJ6klyncBjubwhXQoZL6pTb1wLa03QyMBEjHPwm0FtfbndNRfUcXxthLRCyIiIaIaKirq+vKn93MzDpQteCJiG9FRH1EjKKwOODBiPgb4CHggtRsJnBP2l6e9knHH4yISPVpaUXaaGAM8ASwDhiTVrANSGMsT+dUOoaZmWXSr/Mm3e6bwFJJ/wg8Bdya6rcCv5DUROEqZBpARGyUtAzYBOwG5kTEHgBJlwOrgIOAhRGxsStjmJlZPlmCJyLWAmvT9osUVqS1b/MucGEH598I3FiivgJYUaJe8RhmZpaHn1xgZmZZOXjMzCwrB4+ZmWXl4DEzs6wcPGZmlpWDx8zMsnLwmJlZVmUFj6Q15dTMzMw6s89fIJU0EPgEMFzSED58yOZg4FNVnpuZmR2AOntywd8CV1EImfV8GDxvUfgSNjMzs4rsM3gi4ofADyVdERH/lGlOZmZ2ACvrWW0R8U+SzgBGFZ8TEYurNC8zMztAlRU8kn4B/CnwNLAnlQNw8JiZWUXKfTp1A3C8v7vGzMz2V7m/x/Ms8F+qOREzM+sbyr3iGQ5skvQE8F5bMSLOq8qszMzsgFVu8FxXzUmYmVnfUe6qtv9b7YmYmVnfUO6qtl0UVrEBDAD6A3+IiMHVmpiZmR2Yyr3iOaR4X9L5wPiqzMjMzA5oXXo6dUT8K3B2N8/FzMz6gHJvtf1V0e7HKPxej3+nx8zMKlbuqrb/WrS9G3gZmNrtszEzswNeuZ/xXFrtiZiZWd9Q7hfB1Uu6W9J2Sa9L+qWk+mpPzszMDjzlLi74ObCcwvfyHAH8W6p1SNJASU9I+q2kjZKuT/XRkh6XtEXSHZIGpPrH035TOj6qqK9vpfpzks4pqk9OtSZJc4vqFY9hZmZ5lBs8dRHx84jYnV63AXWdnPMecHZEjAVOBiZLmgB8B/h+RIwB3gBmpfazgDci4hjg+6kdko4HpgEnAJOBn0g6SNJBFL6M7lzgeGB6akulY5iZWT7lBs8OSV9p+4Ev6SvAzn2dEAVvp93+6RUUlmHfmeqLgPPT9tS0Tzo+UZJSfWlEvBcRLwFNFH6HaDzQFBEvRsT7wFJgajqn0jHMzCyTcoPnMuCvgf8AXgMuADpdcJBC6mlgO7AaeAH4fUTsTk2aKdy6I71vBUjH3wSGFdfbndNRfVgXxmg/79mSGiU1trS0dPbHNDOzCpQbPDcAMyOiLiIOoxBE13V2UkTsiYiTgXoKVyifLtUsvZe68ohurO9rjL0LEQsioiEiGurqOrujaGZmlSg3eE6KiDfadiKiFfhsuYNExO+BtcAE4FBJbcu464FtabsZGAmQjn8SaC2utzuno/qOLoxhZmaZlBs8H5M0pG1H0lA6+R0gSXWSDk3bg4AvApuBhyjcqgOYCdyTtpenfdLxB9M3ni4HpqUVaaOBMcATwDpgTFrBNoDCAoTl6ZxKxzAzs0zKfXLB/wZ+I+lOCrem/hq4sZNzRgCL0uqzjwHLIuJeSZuApZL+EXgKuDW1vxX4haQmClch0wAiYqOkZcAmCk9NmBMRewAkXQ6sAg4CFkbExtTXNysZw8zM8lG5/+BPS5XPpvA5yZqI2FTNifUUDQ0N0djYuFft1K8v7rb+1393Rrf1ZWbWU0haHxENpY6Ve8VDCpo+ETZmZlY9XfpaBDMzs65y8JiZWVYOHjMzy8rBY2ZmWTl4zMwsKwePmZll5eAxM7OsHDxmZpaVg8fMzLJy8JiZWVYOHjMzy8rBY2ZmWTl4zMwsKwePmZll5eAxM7OsHDxmZpaVg8fMzLJy8JiZWVYOHjMzy8rBY2ZmWTl4zMwsKwePmZll5eAxM7OsqhY8kkZKekjSZkkbJV2Z6kMlrZa0Jb0PSXVJmi+pSdIzkk4p6mtmar9F0syi+qmSNqRz5ktSV8cwM7M8+lWx793A/4yIJyUdAqyXtBq4BFgTETdJmgvMBb4JnAuMSa/TgFuA0yQNBa4FGoBI/SyPiDdSm9nAY8AKYDJwf+qz7DGq+HfQI5369cXd1tf6787otr7MrG+o2hVPRLwWEU+m7V3AZuAIYCqwKDVbBJyftqcCi6PgMeBQSSOAc4DVEdGawmY1MDkdGxwRj0ZEAIvb9VXJGGZmlkmWz3gkjQI+CzwOHB4Rr0EhnIDDUrMjgK1FpzWn2r7qzSXqdGGM9vOdLalRUmNLS0slf1QzM+tE1YNH0p8AvwSuioi39tW0RC26UN/ndMo5JyIWRERDRDTU1dV10qWZmVWiqsEjqT+F0Lk9Iu5K5dfbbm+l9+2p3gyMLDq9HtjWSb2+RL0rY5iZWSbVXNUm4FZgc0TcXHRoOdC2Mm0mcE9RfUZaeTYBeDPdJlsFTJI0JK1OmwSsSsd2SZqQxprRrq9KxjAzs0yquartTOBiYIOkp1Pt74GbgGWSZgGvABemYyuAKUAT8A5wKUBEtEq6AViX2s2LiNa0/TXgNmAQhdVs96d6RWOYmVk+VQueiHiY0p+pAEws0T6AOR30tRBYWKLeCJxYor6z0jHMzCwPP7nAzMyycvCYmVlWDh4zM8vKwWNmZlk5eMzMLCsHj5mZZeXgMTOzrBw8ZmaWlYPHzMyycvCYmVlWDh4zM8vKwWNmZlk5eMzMLCsHj5mZZeXgMTOzrBw8ZmaWlYPHzMyycvCYmVlWDh4zM8vKwWNmZln1q/UE+rpX5n2m2/o68poN3daXmVm1+IrHzMyycvCYmVlWDh4zM8uqasEjaaGk7ZKeLaoNlbRa0pb0PiTVJWm+pCZJz0g6peicman9Fkkzi+qnStqQzpkvSV0dw8zM8qnmFc9twOR2tbnAmogYA6xJ+wDnAmPSazZwCxRCBLgWOA0YD1zbFiSpzeyi8yZ3ZQwzM8urasETEb8GWtuVpwKL0vYi4Pyi+uIoeAw4VNII4BxgdUS0RsQbwGpgcjo2OCIejYgAFrfrq5IxzMwso9yf8RweEa8BpPfDUv0IYGtRu+ZU21e9uUS9K2N8hKTZkholNba0tFT0BzQzs33rKYsLVKIWXah3ZYyPFiMWRERDRDTU1dV10q2ZmVUid/C83nZ7K71vT/VmYGRRu3pgWyf1+hL1roxhZmYZ5Q6e5UDbyrSZwD1F9Rlp5dkE4M10m2wVMEnSkLSoYBKwKh3bJWlCWs02o11flYxhZmYZVe2ROZKWAGcBwyU1U1iddhOwTNIs4BXgwtR8BTAFaALeAS4FiIhWSTcA61K7eRHRtmDhaxRWzg0C7k8vKh3DzMzyqlrwRMT0Dg5NLNE2gDkd9LMQWFii3gicWKK+s9IxzMwsn56yuMDMzPoIB4+ZmWXl4DEzs6wcPGZmlpWDx8zMsnLwmJlZVg4eMzPLysFjZmZZOXjMzCwrB4+ZmWXl4DEzs6wcPGZmllXVHhJqfcMr8z7TbX0dec2GbuvLzHouX/GYmVlWDh4zM8vKwWNmZlk5eMzMLCsHj5mZZeXgMTOzrBw8ZmaWlYPHzMyycvCYmVlWDh4zM8vKwWNmZln1ueCRNFnSc5KaJM2t9XzMzPqaPhU8kg4CfgycCxwPTJd0fG1nZWbWt/Sp4AHGA00R8WJEvA8sBabWeE5mZn1KX/tahCOArUX7zcBp7RtJmg3MTrtvS3quWhM6CoYDO7qls2vVLd1UorfPn+6cf369ee7g+ddated/VEcH+lrwlPrJFh8pRCwAFlR/OiCpMSIacoxVDZ5/7fTmuYPnX2u1nH9fu9XWDIws2q8HttVoLmZmfVJfC551wBhJoyUNAKYBy2s8JzOzPqVP3WqLiN2SLgdWAQcBCyNiY42nleWWXhV5/rXTm+cOnn+t1Wz+ivjIRxxmZmZV09dutZmZWY05eMzMLCsHT4309kf3SFooabukZ2s9l0pJGinpIUmbJW2UdGWt51QJSQMlPSHpt2n+19d6Tl0h6SBJT0m6t9ZzqZSklyVtkPS0pMZaz6cSko5N8257vSXpqqxz8Gc8+aVH9zwPfInCEu91wPSI2FTTiVVA0ueBt4HFEXFiredTCUkjgBER8aSkQ4D1wPm95e9fkoCDI+JtSf2Bh4ErI+KxGk+tIpKuBhqAwRHx5VrPpxKSXgYaIqI3/wJp28+iV4HTIuLfc43rK57a6PWP7omIXwOttZ5HV0TEaxHxZNreBWym8FSLXiEK3k67/dOrV/0LUlI98JfAz2o9lz5uIvBCztABB0+tlHp0T6/5wXcgkTQK+CzweG1nUpl0m+ppYDuwOiJ61fyBHwDfAP6z1hPpogAekLQ+PWKrt5oGLMk9qIOnNsp6dI9Vl6Q/AX4JXBURb9V6PpWIiD0RcTKFp2+Ml9RrbndK+jKwPSLW13ou++HMiDiFwpPu56Rbz71K+iX684B/yT22g6c2/OieGkufjfwSuD0i7qr1fLoqIn4PrAUm13gqlTgTOC99TrIUOFvSP9d2SpWJiG3pfTtwN4Xb573NucCTEfF67oEdPLXhR/fUUPpw/lZgc0TcXOv5VEpSnaRD0/Yg4IvA72o7q/JFxLcioj4iRlH4b//BiPhKjadVNkkHp0UpSDoYmAT0utWdwHRqcJsNHDw1ERG7gbZH92wGlvWAR/dURNIS4FHgWEnNkmbVek4VOBO4mMK/tNuWlE6p9aQqMAJ4SNIzFP4Rszoiet2S5F7scOBhSb8FngDui4iVNZ5TRSR9gsKq2ppc7Xs5tZmZZeUrHjMzy8rBY2ZmWTl4zMwsKwePmZll5eAxM7OsHDxmZpaVg8esm0ga1Ru/JsIsNweP2QEmPererMdy8Jh1r36SFkl6RtKdkj4h6RpJ6yQ9K2lBemQPktZK+k76UrfnJf15ql8i6S5JKyVtkfS/2jqXNEnSo5KelPQv6UGnbV9Mdo2kh4ELS00sjfcDSb9Jcxmf6kMl/Wua82OSTkr1LxQ92eGptsfEmO0vB49Z9zoWWBARJwFvAf8d+FFEjEtfmDcIKP7Ss34RMR64Cri2qH4ycBHwGeCi9K2pw4F/AL6YnozcCFxddM67EfG5iFi6j/kdHBFnpHktTLXrgafSnP8eWJzqfwfMSU/B/nPg/1X0N2HWgX61noDZAWZrRDyStv8Z+B/AS5K+AXwCGApsBP4ttWl7VtZ6YFRRP2si4k0ASZuAo4BDgeOBR9JF0wAKz8trc0cZ81sChS/ykzQ4PWz0c8B/S/UHJQ2T9EngEeBmSbcDd0VEc3l/BWb75uAx617tH34YwE8ofE3yVknXAQOLjr+X3vew9/+P7xVttx0ThQeCTu9g7D90cX4lvx8qIm6SdB8wBXhM0hcjotc8Bdt6Lt9qM+teR0o6PW1PBx5O2zvS5zEX7EffjwFnSjoGCk8YlvRnFfZxUTr3c8Cb6arq18DfpPpZwI6IeEvSn0bEhoj4DoXbesftx9zNPuArHrPutRmYKemnwBbgFmAIsAF4mcLXGHRJRLRIugRYIunjqfwPwPMVdPOGpN8Ag4HLUu064OfpaxbeAWam+lWS/oLCFdcm4P6uzt2smL8WwayPkLQW+LuIaKz1XKxv8602MzPLyrfazA4wkn5M4VtWi/0wIs6qwXTMPsK32szMLCvfajMzs6wcPGZmlpWDx8zMsnLwmJlZVv8fAY9LMoEfuSkAAAAASUVORK5CYII=\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(x=\"banner_pos\",hue='click',data=train_df)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "outputs": [],
   "source": [
    "c_list=['C1',\n",
    " 'C14',\n",
    " 'C15',\n",
    " 'C16',\n",
    " 'C17',\n",
    " 'C18',\n",
    " 'C19',\n",
    " 'C20',\n",
    " 'C21',]"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "banner_pos  C1  \n",
      "0           1005    7007599\n",
      "            1002     448593\n",
      "            1012      16303\n",
      "            1007      12866\n",
      "            1001       1988\n",
      "            1010         55\n",
      "1           1005    2307103\n",
      "            1010     192695\n",
      "            1012       1780\n",
      "2           1005       3230\n",
      "3           1012         67\n",
      "            1005         18\n",
      "4           1005       1403\n",
      "5           1008       3856\n",
      "7           1010       2438\n",
      "            1008          6\n",
      "Name: C1, dtype: int64\n",
      "banner_pos  C14  \n",
      "0           21767    361784\n",
      "            21768    359422\n",
      "            19251    271261\n",
      "            21611    231533\n",
      "            21790    206494\n",
      "                      ...  \n",
      "7           15842         1\n",
      "            20001         1\n",
      "            21139         1\n",
      "            21298         1\n",
      "            21718         1\n",
      "Name: C14, Length: 1896, dtype: int64\n",
      "banner_pos  C15 \n",
      "0           320     6904168\n",
      "            300      460742\n",
      "            216      107608\n",
      "            728       13678\n",
      "            480         971\n",
      "            1024         98\n",
      "            120          82\n",
      "            768          57\n",
      "1           320     2390011\n",
      "            216       95773\n",
      "            728        9544\n",
      "            300        6246\n",
      "            120           4\n",
      "2           320        2894\n",
      "            216         336\n",
      "3           320          85\n",
      "4           320        1364\n",
      "            216          39\n",
      "5           320        3840\n",
      "            728          16\n",
      "7           320        2248\n",
      "            768          73\n",
      "            480          62\n",
      "            1024         61\n",
      "Name: C15, dtype: int64\n",
      "banner_pos  C16 \n",
      "0           50      6944770\n",
      "            250      387244\n",
      "            36       107608\n",
      "            480       32896\n",
      "            90        13678\n",
      "            320         971\n",
      "            768          98\n",
      "            20           82\n",
      "            1024         57\n",
      "1           50      2395903\n",
      "            36        95773\n",
      "            90         9544\n",
      "            250         227\n",
      "            480         127\n",
      "            20            4\n",
      "2           50         2894\n",
      "            36          336\n",
      "3           50           85\n",
      "4           50         1364\n",
      "            36           39\n",
      "5           50         3840\n",
      "            90           16\n",
      "7           480        2248\n",
      "            1024         73\n",
      "            320          62\n",
      "            768          61\n",
      "Name: C16, dtype: int64\n",
      "banner_pos  C17 \n",
      "0           1722    997284\n",
      "            2506    761072\n",
      "            2502    704534\n",
      "            2507    412641\n",
      "            2201    271261\n",
      "                     ...  \n",
      "7           2501         5\n",
      "            2531         4\n",
      "            2544         3\n",
      "            1741         1\n",
      "            2281         1\n",
      "Name: C17, Length: 491, dtype: int64\n",
      "banner_pos  C18\n",
      "0           0      3893545\n",
      "            3      2509019\n",
      "            2       900927\n",
      "            1       183913\n",
      "1           0      1131318\n",
      "            3       896344\n",
      "            2       464621\n",
      "            1         9295\n",
      "2           0         2345\n",
      "            3          845\n",
      "            2           38\n",
      "            1            2\n",
      "3           3           29\n",
      "            0           28\n",
      "            2           28\n",
      "4           0          737\n",
      "            3          471\n",
      "            2          195\n",
      "5           3         3618\n",
      "            1          169\n",
      "            2           69\n",
      "7           3         1481\n",
      "            0          952\n",
      "            2           11\n",
      "Name: C18, dtype: int64\n",
      "banner_pos  C19\n",
      "0           35     4031001\n",
      "            39     1232607\n",
      "            167     204869\n",
      "            297     188287\n",
      "            169     170830\n",
      "                    ...   \n",
      "7           171          8\n",
      "            169          6\n",
      "            34           5\n",
      "            291          4\n",
      "            47           1\n",
      "Name: C19, Length: 140, dtype: int64\n",
      "banner_pos  C20    \n",
      "0           -1         3975873\n",
      "             100084     526450\n",
      "             100111     424782\n",
      "             100148     266224\n",
      "             100083     237620\n",
      "                        ...   \n",
      "7            100128          1\n",
      "             100160          1\n",
      "             100181          1\n",
      "             100183          1\n",
      "             100205          1\n",
      "Name: C20, Length: 499, dtype: int64\n",
      "banner_pos  C21\n",
      "0           157    1423092\n",
      "            79     1049787\n",
      "            221     900903\n",
      "            23      842264\n",
      "            61      455240\n",
      "                    ...   \n",
      "7           156          7\n",
      "            35           6\n",
      "            90           5\n",
      "            61           4\n",
      "            100          1\n",
      "Name: C21, Length: 147, dtype: int64\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "list(c_list)\n",
    "for str in list(c_list):\n",
    "    print(train_df.groupby('banner_pos')[str].value_counts())\n",
    "    "
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x237520fc748>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 47
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('banner_pos')['C1'].value_counts().plot(kind='bar')\n",
    "    "
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x2375f754088>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 50
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAExCAYAAABrmEXcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO29e7xfVXnn/37IhQRISIADYhINQrzgBdTDpbVWFIXgq1Nwii12qtEypdPq/OrUtqIvp1jrdHT8Kf6cUaY4oKG1IoO2pArGyKVaC8hBMNxJuEhCAhxICAm5nnOe3x/Ps9w733zP93z3ySEnJ/m8X6/9+u7vs9d9rb2fvdd61lrm7gghhBDdcsB4J0AIIcTEQopDCCFEI6Q4hBBCNEKKQwghRCOkOIQQQjRi8ngnYKw54ogjfP78+eOdDCGEmFDcfvvtT7t7Tzdu9znFMX/+fPr6+sY7GUIIMaEws19061ZdVUIIIRohxSGEEKIRUhxCCCEaIcUhhBCiEVIcQgghGiHFIYQQohFSHEIIIRohxSGEEKIRUhxCCCEaIcUhhBCiEVIcQgghGiHFIYQQohEjKg4zm2ZmPzWzn5vZPWb2Vyn/upk9YmZ35nFiys3MvmRmK81suZm9oRbWIjNbkceimvyNZnZX+vmSmVnKDzOzZel+mZnNHvsiEEII0YRuvji2AW9z9xOAE4GFZnZqXvtzdz8xjztTdhawII8LgEsglABwEXAKcDJwUU0RXJJui7+FKb8QuN7dFwDX538hhBDjyIiKw4NN+XdKHt7By9nAFenvFmCWmR0NnAksc/d17r4eWEYooaOBme5+s7s7cAVwTi2sxXm+uCYXQggxTnQ1xmFmk8zsTuAp4uF/a176b9kddbGZHZiyOcCqmvfVKeskX91GDnCUu68FyN8jh0nfBWbWZ2Z9/f393WRJCCHEKOlKcbj7oLufCMwFTjaz1wAfA14JnAQcBnw0nVu7IEYh7xp3v9Tde929t6enqw2shBBCjJJGVlXu/ixwE7DQ3ddmd9Q24GvEuAXEF8O8mre5wJoR5HPbyAGezK4s8vepJukVQggx9nRjVdVjZrPyfDrwduD+2gPdiLGHu9PLEuB9aV11KrAhu5mWAmeY2ewcFD8DWJrXNprZqRnW+4BramEV66tFNbkQQohxops9x48GFpvZJELRXOXu3zWzG8ysh+hquhP4T+n+WuCdwEpgM/ABAHdfZ2Z/DdyW7j7l7uvy/I+ArwPTgevyAPgMcJWZnQ88Brx7tBkVQggxNlgYMu079Pb2el9f33gnQwghJhRmdru793bjVjPHhRBCNEKKQwghRCOkOIQQQjRCikMIIUQjpDiEEEI0QopDCCFEI6Q4hBBCNEKKQwghRCOkOIQQQjRCikMIIUQjpDiEEEI0QopDCCFEI6Q4hBBCNEKKQwghRCOkOIQQQjRCikMIIUQjpDiEEEI0QopDCCFEI6Q4hBBCNEKKQwghRCNGVBxmNs3MfmpmPzeze8zsr1J+jJndamYrzOxbZjY15Qfm/5V5fX4trI+l/AEzO7MmX5iylWZ2YU3eNg4hhBDjRzdfHNuAt7n7CcCJwEIzOxX4LHCxuy8A1gPnp/vzgfXufhxwcbrDzI4HzgNeDSwEvmJmk8xsEvBl4CzgeOA96ZYOcQghhBgnRlQcHmzKv1PycOBtwNUpXwyck+dn53/y+ulmZim/0t23ufsjwErg5DxWuvvD7r4duBI4O/0MF4cQQohxoqsxjvwyuBN4ClgGPAQ86+4D6WQ1MCfP5wCrAPL6BuDwurzFz3DywzvE0Zq+C8ysz8z6+vv7u8mSEEKIUdKV4nD3QXc/EZhLfCG8qp2z/LVhro2VvF36LnX3Xnfv7enpaedECCHEGNHIqsrdnwVuAk4FZpnZ5Lw0F1iT56uBeQB5/VBgXV3e4mc4+dMd4hBCCDFOdGNV1WNms/J8OvB24D7gRuDcdLYIuCbPl+R/8voN7u4pPy+tro4BFgA/BW4DFqQF1VRiAH1J+hkuDiGEEOPE5JGdcDSwOK2fDgCucvfvmtm9wJVm9mngDuCydH8Z8HdmtpL40jgPwN3vMbOrgHuBAeCD7j4IYGYfApYCk4DL3f2eDOujw8QhhBBinLB4sd936O3t9b6+vvFOhhBCTCjM7HZ37+3GrWaOCyGEaIQUhxBCiEZIcQghhGiEFIcQQohGSHEIIYRohBSHEEKIRkhxCCGEaIQUhxBCiEZIcQghhGiEFIcQQohGSHEIIYRohBSHEEKIRkhxCCGEaIQUhxBCiEZIcQghhGiEFIcQQohGSHEIIYRohBSHEEKIRkhxCCGEaIQUhxBCiEaMqDjMbJ6Z3Whm95nZPWb2Jyn/pJk9bmZ35vHOmp+PmdlKM3vAzM6syRembKWZXViTH2Nmt5rZCjP7lplNTfmB+X9lXp8/lpkXQgjRnG6+OAaAj7j7q4BTgQ+a2fF57WJ3PzGPawHy2nnAq4GFwFfMbJKZTQK+DJwFHA+8pxbOZzOsBcB64PyUnw+sd/fjgIvTnRBCiHFkRMXh7mvd/Wd5vhG4D5jTwcvZwJXuvs3dHwFWAifnsdLdH3b37cCVwNlmZsDbgKvT/2LgnFpYi/P8auD0dC+EEGKcaDTGkV1FrwduTdGHzGy5mV1uZrNTNgdYVfO2OmXDyQ8HnnX3gRb5TmHl9Q3pvjVdF5hZn5n19ff3N8mSEEKIhnStOMzsEODbwIfd/TngEuBY4ERgLfD54rSNdx+FvFNYOwvcL3X3Xnfv7enp6ZgPIYQQu0dXisPMphBK4xvu/h0Ad3/S3QfdfQj4KtEVBfHFMK/mfS6wpoP8aWCWmU1uke8UVl4/FFjXJINCCCHGlm6sqgy4DLjP3b9Qkx9dc/Yu4O48XwKclxZRxwALgJ8CtwEL0oJqKjGAvsTdHbgRODf9LwKuqYW1KM/PBW5I90IIIcaJySM74U3Ae4G7zOzOlH2csIo6keg6ehT4QwB3v8fMrgLuJSyyPujugwBm9iFgKTAJuNzd78nwPgpcaWafBu4gFBX5+3dmtpL40jhvN/IqhBBiDLB97QW+t7fX+/r6xjsZQggxoTCz2929txu3mjkuhBCiEVIcQgghGiHFIYQQohFSHEIIIRohxSGEEKIRUhxCCCEaIcUhhBCiEVIcQgghGiHFIYQQohFSHEIIIRohxSGEEKIRUhxCCCEaIcUhhBCiEVIcQgghGiHFIYQQohFSHEIIIRohxSGEEKIRUhxCCCEaIcUhhBCiESMqDjObZ2Y3mtl9ZnaPmf1Jyg8zs2VmtiJ/Z6fczOxLZrbSzJab2RtqYS1K9yvMbFFN/kYzuyv9fMnMrFMcQgghxo9uvjgGgI+4+6uAU4EPmtnxwIXA9e6+ALg+/wOcBSzI4wLgEgglAFwEnAKcDFxUUwSXpNvib2HKh4tDCCHEODGi4nD3te7+szzfCNwHzAHOBhans8XAOXl+NnCFB7cAs8zsaOBMYJm7r3P39cAyYGFem+nuN7u7A1e0hNUuDiGEEONEozEOM5sPvB64FTjK3ddCKBfgyHQ2B1hV87Y6ZZ3kq9vI6RBHa7ouMLM+M+vr7+9vkiUhhBAN6VpxmNkhwLeBD7v7c52ctpH5KORd4+6Xunuvu/f29PQ08SqEEKIhXSkOM5tCKI1vuPt3UvxkdjORv0+lfDUwr+Z9LrBmBPncNvJOcQghhBgnurGqMuAy4D53/0Lt0hKgWEYtAq6pyd+X1lWnAhuym2kpcIaZzc5B8TOApXlto5mdmnG9ryWsdnEIIYQYJyZ34eZNwHuBu8zszpR9HPgMcJWZnQ88Brw7r10LvBNYCWwGPgDg7uvM7K+B29Ldp9x9XZ7/EfB1YDpwXR50iEMIIcQ4YWHItO/Q29vrfX19450MIYSYUJjZ7e7e241bzRwXQgjRCCkOIYQQjZDiEEII0QgpDiGEEI2Q4hBCCNEIKQ4hhBCNkOIQQgjRCCkOIYQQjZDiEEII0QgpDiGEEI2Q4hBCCNEIKQ4hhBCNkOIQQgjRCCkOIYQQjZDiEEII0QgpDiGEEI2Q4hBCCNEIKQ4hhBCNkOIQQgjRCCkOIYQQjRhRcZjZ5Wb2lJndXZN90sweN7M783hn7drHzGylmT1gZmfW5AtTttLMLqzJjzGzW81shZl9y8ympvzA/L8yr88fq0wLIYQYPd18cXwdWNhGfrG7n5jHtQBmdjxwHvDq9PMVM5tkZpOALwNnAccD70m3AJ/NsBYA64HzU34+sN7djwMuTndCCCHGmREVh7v/CFjXZXhnA1e6+zZ3fwRYCZycx0p3f9jdtwNXAmebmQFvA65O/4uBc2phLc7zq4HT070QQohxZHfGOD5kZsuzK2t2yuYAq2puVqdsOPnhwLPuPtAi3ymsvL4h3e+CmV1gZn1m1tff378bWRJCCDESo1UclwDHAicCa4HPp7zdF4GPQt4prF2F7pe6e6+79/b09HRKtxBCiN1kVIrD3Z9090F3HwK+SnRFQXwxzKs5nQus6SB/GphlZpNb5DuFldcPpfsuMyGEEC8Qo1IcZnZ07e+7gGJxtQQ4Ly2ijgEWAD8FbgMWpAXVVGIAfYm7O3AjcG76XwRcUwtrUZ6fC9yQ7oUQQowjk0dyYGbfBE4DjjCz1cBFwGlmdiLRdfQo8IcA7n6PmV0F3AsMAB9098EM50PAUmAScLm735NRfBS40sw+DdwBXJbyy4C/M7OVxJfGebudWyGEELuN7Wsv8b29vd7X1zfeyRBCiAmFmd3u7r3duNXMcSGEEI2Q4hBCCNEIKQ4hhBCNkOIQQgjRCCkOIYQQjZDiEEII0QgpDiGEEI2Q4hBCCNEIKQ4hhBCNkOIQQgjRCCkOIYQQjZDiEEII0QgpDiGEEI2Q4hBCCNEIKQ4hhBCNkOIQQgjRCCkOIYQQjdhnFcf8C7833kkQQoh9kn1WcQghhHhhGFFxmNnlZvaUmd1dkx1mZsvMbEX+zk65mdmXzGylmS03szfU/CxK9yvMbFFN/kYzuyv9fMnMrFMcQgghxpduvji+DixskV0IXO/uC4Dr8z/AWcCCPC4ALoFQAsBFwCnAycBFNUVwSbot/haOEIcQQohxZETF4e4/Ata1iM8GFuf5YuCcmvwKD24BZpnZ0cCZwDJ3X+fu64FlwMK8NtPdb3Z3B65oCatdHEIIIcaR0Y5xHOXuawHy98iUzwFW1dytTlkn+eo28k5x7IKZXWBmfWbW19/fP8osCSGE6IaxHhy3NjIfhbwR7n6pu/e6e29PT09T70IIIRowWsXxZHYzkb9PpXw1MK/mbi6wZgT53DbyTnEIIYQYR0arOJYAxTJqEXBNTf6+tK46FdiQ3UxLgTPMbHYOip8BLM1rG83s1LSmel9LWO3iEEIIMY5MHsmBmX0TOA04wsxWE9ZRnwGuMrPzgceAd6fza4F3AiuBzcAHANx9nZn9NXBbuvuUu5cB9z8iLLemA9flQYc4hBBCjCMjKg53f88wl05v49aBDw4TzuXA5W3kfcBr2sifaReHEEKI8UUzx4UQQjRCikMIIUQjpDiEEEI0QopDiBcYrdQs9jWkOIQQQjRCikMIIUQjpDiEEEI0QopDCCFEI6Q4hBBCNEKKQwghRCOkOIQQQjRCikMIIUQjpDiEEEI0QopDCCFEI6Q4hBBCNEKKQwghRCOkOIQQQjRCikMIIUQjpDiEEEI0QopDCCFEI3ZLcZjZo2Z2l5ndaWZ9KTvMzJaZ2Yr8nZ1yM7MvmdlKM1tuZm+ohbMo3a8ws0U1+Rsz/JXp13YnvUIIIXafsfjieKu7n+juvfn/QuB6d18AXJ//Ac4CFuRxAXAJhKIBLgJOAU4GLirKJt1cUPO3cDQJ1A5sQggxdrwQXVVnA4vzfDFwTk1+hQe3ALPM7GjgTGCZu69z9/XAMmBhXpvp7je7uwNX1MISQggxTuyu4nDgB2Z2u5ldkLKj3H0tQP4emfI5wKqa39Up6yRf3Ua+C2Z2gZn1mVlff39/xwTr60MIIXaPybvp/03uvsbMjgSWmdn9Hdy2G5/wUch3FbpfClwK0Nvb29aNEEKIsWG3vjjcfU3+PgX8IzFG8WR2M5G/T6Xz1cC8mve5wJoR5HPbyIUQQowjo1YcZnawmc0o58AZwN3AEqBYRi0CrsnzJcD70rrqVGBDdmUtBc4ws9k5KH4GsDSvbTSzU9Oa6n21sIQQQowTu9NVdRTwj2khOxn4B3f/vpndBlxlZucDjwHvTvfXAu8EVgKbgQ8AuPs6M/tr4LZ09yl3X5fnfwR8HZgOXJeHEEKIcWTUisPdHwZOaCN/Bji9jdyBDw4T1uXA5W3kfcBrRptGIYQQY49mjgshhGjEfqs4ZJYrhBCjY79VHEIIIUaHFIcQQohGSHEIIYRohBSHEEKIRuzXikMD5GJPozYn9gX2a8UhhBCiOVIc6C1QCCGaIMUhhBCiEVIcib46hBCiO6Q4WpACEUKIzkhxCCGEaIQURxv01SH2BGpnYqIixSGEEKIRUhwdmH/h9/RWKIQQLUhxCLEXoBcUMZGQ4ugS3dhCCBFIcTSgKA91YQkh9mekOHaTuhKRMhFjgdqR2NvZ6xWHmS00swfMbKWZXTje6RmJdl8l+kIRo0XtRuyN7NWKw8wmAV8GzgKOB95jZsePb6p2j+EUipSLGIl6+xjuXIg9wV6tOICTgZXu/rC7bweuBM4e5zS94HRSLnU3430u9j7a1VU3Lyvqct3/2J16Nncfw6SMLWZ2LrDQ3f9j/n8vcIq7f6jF3QXABfn39fk7RKUYdd7d+XjHvz+fj3f8+9v5eMe/N55vdvcZdMHkbhyNI9ZGtoumc/dLgUsBzGyQKIj615TOuzsf7/j35/Pxjn9/Ox/v+PfG8wfokgNGdjKurAbm1f7PBdaMU1qEEEKw9yuO24AFZnaMmU0FzgOWjHOahBBiv2av7qpy9wEz+xCwFJgEXO7u94zg7Tbg1cBWYFrKdN7d+XjHvz+fj3f8+9v5eMe/N55fSpfs1YPjQggh9j729q4qIYQQexlSHEIIIRohxSGEEKIRe/XgeLeY2RTgMuAdwKHEQPpkOivGoeKd9vNFdgfPo2nYxd9YKfSShm4ZSj9lUtABDf2PFWXg7YWMeyiPASKfk+ic36G8Nljz9zywA5gBHJRhtKNdexiq/dbLG3au/zIvqdOcpm7azFCLm+HKuKR1gMjbVOJeak138Wtt/Bb/9TIdLp52YdXDKW2ytX6cKJvtwBSqZ1m9TDrVZSmLdmlrLat6mgfzcHZ+fnYKr+6/hN2a13p8Qy3nJczdfS7Uy7WktdTVHcCF7v4v3QQ0oQfHzeyTwF8yPg83IYTYF7kDONndB4ZzMNEVx8RNvBBCjB+tX3v1r2KA+9192AVlJ3RXlbubmU0nPrUAprn7xlZ3uaLuLOARYDpwArCM+MTdQZTDrwA9xEq8yzLMnwFPAr+b7h4CTgLuzPAGgNkZ7gbgceKT+tl0P43ozng9cGpe6wH+BXgJcDfRtbYGWJHuNwJn5LUTgJcDDwLPZPinAevTz0nA3wNHpL83ZnoeB54gPm1fA7yK6E6ZDvxzpnUmsDzT2QOsA94C/ICw7T4k07sBOBo4LstpBTER88fAKcBK4LmMb3XG4xnmivw9E+jLNK8j5tlMy/Is3Q0fAb4G/Coxb2cAODjT9FLgXzMv/5jpeynwsiyDn2U5D2a5zgNuAjZlHmZmnbwo83AccDXwWF6fkvXpwJxMz1HETVTq8cEsd2ryrfn/kEzvISnblPKFwM1Zd9OI9tmfbXY6sNHdd1ACjS7Xae6+sdaup2Vc5eZ+F/BwluNhRNs7IOvpyCyjI4GfZnnj7uszvMMyX555vivDL2W9nWj/P6ilc3K62ZT+35R1MJnonjuZ6M56Psv5FqItlrIpz5hZwNNEW1oL9AJ97r7DzGbU8joADLj7llImNTfk9RlZh/cBW919S5bdIXX/KSvpPw34bj0Oou4HU3YgcCzRZo/LsnkJ8AqiTWxx96/X6glgcsYznYqBLN/pmeeNwO8D12b61mX+S34PB57JOi/h9hBtbXKWY8nD1vR3HtEelhHPiLcTz5T+PH4z3R4K3E+0hf4sxxLHtCy7HZmn6aXMW/LYlon+xfGbRMV+mCjIw/J3KlU/9NRxSFrTsYXR+hkLWuPdQTxU9mT8Q+w6PjBcP3Pxs7tlVe87BthGNS420jhHuWnKw3EKu5ZZSX/rWMJw/0vYxU89j932wbejtaxa/3fqzy9u29VPpzoYpCqnSXQes2pXHu3S1zqe0/rgajemOFxZt6al3vc/0rhea7sZLsyR6GYc1FvOx2o8tt7mSh1tJpTmO9z96ZECmOiKo1SiEEKI3WfQ3UfsiZro5rhSGkIIMXYMZxm4ExNdcQghhNjDSHEIIYQodDV2MaGtqoC3Ah8nLAvKBKypVAN6sPNg10bC2mEy7SfebE3/xdqiWEhsIixGplBN2DLCQuLQWpzQeQJSmUBWfusTvlonBBWezbg7TQCqD3C2xlsfzB3I/2XAsj4Zqe6u7rcepmd6ZtWuDWVeJtfcODHIPkgMOh+c/oo1UXH3JGHNcmiL/3Z5azd42m7wsJ7u+iTPkSYVFv/1jcBKXbUOhpbwBtn50778L27K5LSB2v/p7NxGCuX6EFF2B1NNTCx5KZMVoRogPqAljPrEwtaB3taJX9D+PiHjqk+qK/U5jV3LsD6I3tqWSr5KXtr53UZV5vWJp61GAmRYg0S7qQ+8D9XcT2bXiZPF8rLc+/U2MpDhriOszg6kuu8n57WD2HkiZEl7fRJiyW9xN0A8U4rxRLlP6m2o+Clpqae73fPDCQu6qex8L0HU0fOE1Vn9edE6sF4mrw5lGANUlnqL6IIJPTheyL06fp8wRTyJME/dTpiJvoIwg3NgC9EASmHXrVjqM4hHQ7kBniEa3gFEpezI35EslXYA/xM4h2i8mwizypLO5zOccrOUh1T9gVYsospDYwB4KsNr95KwkTCjPQ64N+P7MvDviId5aYAH59GO8rDYVkvnweysTOt0ssZx4kbbSmVGW26UmVQ3QrlR6xZRJS3T039dmdVXERhK/08ANwDfz3yeR5hMH1ILt5h2F1PVPyZeVn4dWAVcSby0/AthentOup9KVf6bMn0PEuaxJxDmnTMIS5b1hAm1E6aUSzNdm4D/ASygehgeWMv/BiqT6fLQ3k718lR/Odie58XCsLSV5zOdMzLsrUR7GSL2vfk1oj33ppvJmZfbCVPoBzMPNwD/EXhx+u8jFMzJVC8F9XRuA34C/B/gE5mGY7POymz8Rwlz6bcT5tYziBeNYzPvD2a5n5txvp4wBx/KMnsJO1u7bc86W0eYBD9HmMIWS8zyHChKu7WNbgW+APwX4EZgPpVJ8lbi/pmVeZ7W4rc8ZEv+yv+NxD333Syn19XKeR3waeL5dSbRZp7N9LaG3w2bCfP38gJQnlePEabu33P3VWZ2iLtvGj6YYEIrDjMrD6s9aT4qhBD7Ik7MKekZyeFEVxwTN/FCCLF34YROGNFaVYPjQgghoMH0BikOIYQQjZjoiuN/EQNME6nLqlh3DI5rKsTezib2TLueSPfOeLKvl9NWwjjjG904ntBjHO0ws1OAVxIL6a0j9ugoi+o9Q2VpcjMxqP5KwupoCmFNUUzxnF2tUYplyI48ioXWIGGlcxlhYXIIsTjf26jMf19KZRJXN+sbpFr4bEumbRlh7fPJTNOngbOB09Pvw4Qlzg7CIuMPCIud1xALmm0APkdYacwBLgE+BfxGLc33Ad8mLGZmZTwbifVq/ithcfI3mZ8hwmqoN/NzEJX11CBh7bEtZZsIC5HvE9ZavYRFx6GZ34cIy5gpWdZlEcEDMv+rgAeyrl5FWJVcl/m8Avgh0bg/Ryya9+Is+7/IPL6WsFSalOHfk2HMzjg2ZpqvBq7J/L6LWBjRCMudMwgrnbIA5QzipnorYa74tiznLxBt5+dZ9n+YZfV4up1CWPD8A2EZ9H13HzKzlxOWa//q7rcyDGZmWUf3Zn28LevqAWLRvBen0ylEPRfLwUHgF1leszJ/r8uyOC7LvNT/FOD3qKx27su8LXf358zsTODdGdfLicUjbycW15wJnOru3zaz1xELAx4CnJGyFwEHu/tDZvaVTNu5wBcJy7QPEPfWkXl+R6bz9YTF1VJ3fzbL4lCiDZZ8riEs0DzlLyMefmXB0DuoLOQ2Aje5+1uyTA8B5hILRJ5BWIGdCbwhwyLz8Mgw9XIAMMPdN6RF52sIK7CTCMu604m2U6wN1xNtcSnRZn/g7reYWQ/wZuL+OJCw1loA/Ham6Wqi7b0x03k/cf/9F8Kq6wnCouxEKmtQbzkGiHtpGdFurnH3+2t5MeCQdovDdmJCKw4z20ploriDqKRDxi9FE5pOZrJCiH2bIeJFap67nzSS44muOCZu4oUQYu9jyN1HnMs20cc4hBBCjB1d6QQpDiGEEI2Q4hBCCFEYGtnJxF/ksJdYu2UlYVVwKGHhUKyA7iOsEF5LWIDcT1gZHERYIrw03T5FrNlyDGE98jRhcXEoYW1zINX6T2VhsW0Z72bCYmcdcFum6yjCWmRjpusowpJoiLBsmUWsizQ5ZZuoLC7mZx6mUlk6/TMxeP0Kwrrm8MzD0ymflce6lN8D/G/CmuwtxNpdZa2p5zM/2/L3DmLdnsmEZcoSwpqphzA4uJLYTnQOYf00OY/+TEcPlZVVf7obJNa/WZFl/7qMx7KsytpFZfvMsk7Ss8C/EZYkJxAWMq/KPM5M+Q7gKsJi6D9l3A+ku/sJqx3S79wsx8OyjIvF0WpiG9mjCAu1w6ms6u7N38OJun4m4749411EWL5syfwenGGvybxsJyyz5hKGGrdnWRe3VxDt7nezrB7JujuQsKK5K89PJayL7iQsjkp99GQeNhPWWw8R2+3OyDT8KNOxhlg3qdTRLYRlTQ/Rvnoy/m9RWbRNTT+XAL9FWBzOyfxvIdrJM+nuYao1weYT28kOZvk/TNwL5xKWRkNZB2WL34EMayNhAbgs83J6lvmxeX0N1Xpcc7JcnbBAfE3Gt4PYAvnVRDso99s7M/y/TTenZZpuzrI6PfP1Q9ih6jYAABdTSURBVMKq6/Qstzvz/DDg1vR/IFVb6SUsnHYAFxPt5i1ZFhszz68inhvTqer+2ry+nLgfT8pyfDFV+78pz19E3D8LMl+fINrdIqK9b6Fqr1Ct8VYWdxzIsihrzG0jrBWfJp4lpxD39TTimXckcKu7/4wumdCD4wUzexuxqNkAYVb3H6jMZEe7aOHu0GRrz06MZOnUuippfdXNJvGX9G5P//8N+CjROMvqtsPF3U88hEabh7q7+sq0sPNKoT7M72jYQDw8niDMZWkTVuuKwxA3XrHaO5B46L+UnVdVLtustts2toTVujrtRqoF+Uq8U9r4rYdRfks87VbDbedvuLbRWp6tbod7UJQF88pLEFR71c8YJq7h0tZ6vxZZkU+pyQvtVv8t5+XeKAsrlna8ncrsvlNbGiKU1Ayq1Yrrce5g55fvEl/Te79en/UVnjvV12go0wuez/OphCJ6glBGzwL3uPsfjBTQhFYcZvYWwvZZZqRCCDEGdLNW1URXHNpzXAghxpD9YZFDKQ0hhNjDTHTFIYQQYveodzvtF1ZV7yLWbZlDDIwPEtYMZce/sn1jHzGIeTjVulNQDWTV16UaoFrnqGx9WsIqu7kdTrVLXVkf6AliEO0QYsBpBtVg6UrCQuuQdLuOGFCub8Fa38mv7ERW1rWq7/Y3SFicTMl4yuDfJGLQ6+fEgO/zhCXIT4k1juo7H9bjK9ujlnJ4GFhMrE/0Iqr1uyZTWW6U7S/LjmYrCCuU2exssTWU+T2YWMuHWr5h561Sy2DzfKrtRks91Hfws5rfqexcz2VwuGwHWvzVB3BbdxMsYbYOUG6i2mVwM1Wb2lYrg58Tli8z2XVbXjId3yUsaI6uhV9uzlKOOzJd/5ew7vtIyg7LNJR8DdT8Dmb+txCWVK8lLLmg2vK4vgVpfbC+uCnGENNa3Jfwt1CtM1bKqCzxU18L6QCqe+l54HvEmlivoNoJcRLVskBlO92S92mEZWNZc6vU2450M4Voe/W2UOqEljSX8HdkHP0Z9sHEM6BsC13upwfSzcsIa65SXuU+20BYPpX15bYS1lJkHGUwv2wRWzfm2FjLf934obTDAcLCqpMxBVmmvyDunfrW11PYdWfFoSzP0g6deP55+j2euM+2EG1yLWHNdzCAu3+MbnD3feogbuL/DvwdsZ3s54G7gR8Ti4tBNM61WXl9wD8RD/6NLRWwlWrrzaJAyo0/lH5WUW0deTvREN9TS8vnCUWxKuPaXgtjOfCLdPsMcHeeHwq8P2VPpJ/12YAeTn9fAb6S7ou/6/L3B8SDeiAbyKPEjVYeBM+ku6+U8/zfn7/LMv4fEuaJTxAWF+sIU9aNWZ6rMoxVma6nCHPT9xMrF9+d5XxN1sd70v1Xs45+WVa18tqQbu8mTHMfJkwi76jHW/NTwns462ATcSOUh8jTtfIvab6ulF8pwzbt6LqWMrmunLe6adPufrfFXds4umjL87Ls+jPdywkzzY+nfClhVvl0yqbU/P7TGNxL8zL8H491+MBd4/R8eEHirZXVHcS9+ly2/Z9ku5wCrG1adsSzqo+4dzdkG9hMtcd6MffdTKWYn8t7Yhth5ry9pa2Oqj3Wj4k+OP5m4uE2lXioTmJ0+/EKIYTocq2qia44yhfAIBO/200IIcYd3w+sqqAaBxBCCLEH2BcUhxBCiD3IRFccA3mso1qaoFjQFIbri2sn91Fea8LE7RscHQO189a8e03WlRlgB+rWSu3iKIOJneJuV8dN66sebqdrg7X/7dLVmhdvud7Ob+v14eIf7hgujJH8dSrbdunr9DtcegfpPj0j1UFrfK2yUvbF8qx+vVi2tXvOjBR/ve7byUo5toY73L0xUtscrg5b/Xeqr7ZM6DGOOrWtJY8lzADrpprTqEwDJxOLpV1PLAa4lLBWKMzMcI4nFkY7KK8fTmW9sIawVjiLWCOrmGzeTVhAPEwspvZbxLauZZvXDYSlxcsJU8shwgLjBuBT7v4LMzN398zPuwhT2plUVlEHEWZ1G4hF0a4HfoWwviiLsT2VbtdkOsp1Z9ctN4t8fYZ9asa3g1j8bF7KIUwCl2a53ZxpO5MwvZxOmC2WMp5K9WKyNcObQmUOvTHDK2a1g4TZ8g+GydMGwvR1DmE59XTm/x/d/dlSbtBxm9ENPkYNviWOmcTigJ75fBS42N1/UXP/DgB3X9YSzkfd/bNdxPeOVr/d+KnHaWYfBX5WD6c1/uIHeMNw6WqXlrqsU57apak1/tq1tmU2Ulo6ybuh+G2TtmuJ+/4jQI+7P9Ti73XuvjzPZw7j5nRiAPrGmmwOcL67f6rF7W+5+7dHSOtP3P1NbeR/4+4fz/NV7j6vu9x3yXiYxL0ApnDvI1YJvZ4wYX2IeFhtp3ozKDbhW6nmfNxLNQejuNkIPJjX11PZm5djUy3MYrJbzsv/e6neHjZTmfm2vkEN1eSDhNnpTYRJ69PEw/JWQiFtr7lbTczP2Jzpu54wQX2GeKg/k/9vyDxdT6yw+Qli1dwn87gkZVdnWMV2f30tnSWNO2qydRlvMVtuLaN2b6OdZIOZ5q0ZZmueVtfS8GSm9aEsnyeJ+r8J+M/Ah/NaydtFxIq/G4FLx7i9XZL1UPaNLy8P92Ra/7bm5zHgsTZhDbT8f8cwce7it4t0Pka8RLyjxJWy8v8dbeJ/LI+BTuEOJ8swB2vnH63nq7Uc2sU/Upl1Uy6jKa+WeNuVTWmvawgz9XuAk2rXf5a/v93ODbGarhP32FZitduLqZ4nW4FFtfC2tMR/Z8vx8/TXn8eXsg0Wc93ysvlLN2P2zB2rgMbzIOYDzGrzuyIL7bXEg/elhFKYTXwVbCcmuT1JvP12+uzdkY2gPPjKg/RZYsP5epjlIf9oLX0ranJP+WziLbvub1qmZwvxdXJvyncA/0DY8z+Y/lek3wdLnmvhFtlLi/taea0AVraU34p0u4Lqc7wsY70jy+ebtXw/lOk6Kv+XRlwvr2uGKcsHWsp7Za1etrfmKX8fKmmu5W92ze804I9byu2RjOerWUcPjmV7y/PtwEvz/LosuyeIB7bnef1F44mWw2vhLiFu9iUtxz8Dzw+TliUt4bV2gbVT2kMt7lq7eYtib01HiWOAeMjVj6HaNW85H2z59Zo/Hyac4v/5Numop2egSXm1lNuSNvnoVHblODrDOJlYyv/f5/87ag/4XdwQbfO+lL+f6iXpqcx3mXPx2XQz1JLmAap5TZfmUbZlWEG80JTy3E5sK3Ffym4EbhyrZ+6+Yo000rLbZXZ0T/6+jnjQGLnPgLsvMLMngA8RexRcSXSTnJPuvw98hvgacKKyyuzwRcSXwbRa3JEws16qGaNWk/8e0bUzlZgBewDxENlqZhuIii/7YHwtvX2BeAAeZGZnEV1CB2ceAF5kZscRCuAgqpnZlnG+l9i74WBg0Mw+R7zZG9Hd8mqqGd9DwNuJPRRWu/sxZjaPar+LsmT2ovx/OfD/Ulm4PQ58B/hNdmUK1QxkqGbrvjt/S3dWefBMS9nWzMNjVPU4Pd0cTrz9rwU+R9TLE8SDZzlRXzOz3J+pxb3c3R+vJy7rbC3RFXdvxvWrwE/c/fb8f4KZrUwvpQ/61CyTizN/f0lMCPwzoo4GgL8hui9Lvo8ysyX5f2GG9fmW8jLiAVTSdzbR3fmjTOM0qjfL+jLodbPK0lVY3JQ2OkTspVHiWUjcLzOIB9SmWhjfJZbc/3Tmr+zhUez+j6q5rZ+X2fvXZPgHEftTPE7cb0PEfbWdeKD+Tablokz3m4Hfa0lLSc9GRiivXwqj3J5w91szzAcyH6uoxuKOafH2fO28zK5em78/NbO3At81s7lUZTqpuCFmZ/8pcBlRVlPN7BR3/7qZ3UEombK6w7uIZ8+fmNmxreknuo2vJbqHL0vZELH3yBeATwLfIO65Q4geh83Eviq/5+6Pl7bd2uabsk+McZjZIuImfZTYoGk61UTAkfYnKGvubyMqZmoH98XPSHbOrftIjJSOOtuJr5ii5Nr5b5XV/7dWqBGNfxvxMJjCrtTzNFx6W92M5QKTpR7qE4/K22l9yYxWPyWdxX9Z9mNqi5v6m3VZOqI+4LiF+DIpS4kcSrXUSgmjPGwHiPo5gkopl6Vl6m7KZleTqcazyrWyLMsA0VZ31MKx/F9fCqbsJVG6WEs6S7oKdeXQujdEWR7DW9JbuldLOU5N2VSqN/Dy4C8bVZV7qx5+PbxSDq11tIlQGmUZnbJsSvmCH8yyKV/mU6nqv8hKWqx2fVuL3Gvh1OWTa+HV21QxsjGqF5rSPsqyLBuIMb8iG6iFUfJxQJbZtFqYZdOy+nIuxW9pC6W+NlONyZZy28bObaGU2wwqypIuIz3r1lFNkq7XQb2dXe3u53cIJxK2LygOADObTTVQ+ynG9sEmhBD7C+7uHS1u9wnFUbNEqlskLSSsoqYQ2rmHamey5USf+a8TVljFKuhAQuFspFpYbAqxAFrZ4rS8kZQ3hnWEJdUPif7EVxCf6bPztyfjOJh4KylvfpOpBphvzjRtJ7ZMfRmVJdNmqsXMyptUMRMsb78zM+zJRB/oXcSaOe8mtrUsi9hNyviKgUB/hr2Z6Id9kBhkLluTvpRYoK+HsHI6iuptZSDd/JxYo2tpxtWTaStvXq/MOI4mugTuJ/pjnyK6Hw4lupkgusXWZNinEJ/bL8kyK91LW6i6QYqlWgmjLCRXBgun5rVZmebtxDo+xert5iyXNxBbkZ5AVccHU32p3UeMpUzNMEobep4wYjgi02NZBjMz3I1ZLsX8sp9od78c5CqYmbWTt1Jr48X66YfA272yRCovTLvIStg1NzvJ6nGP5Cbj/+Fw+aj7HSbst2fad3Lbms9OZdPqpl3ZtYm7WExZh7TtlO52aRkmPTOJ9r+V6Eq8Pf8f7O7Li5WUmb2OWDPLzewEYLO7r6in18ymAL/t7t8ws9cSFoUriDb/EeIr9hbiWfHviS+GR4ln0TnE+nu/BXybqivvvwIXEhajm4nB8tLd2ogJrzjM7DeIPtryqdapG6We2U5uRvO1sqf9DRdWYbRpGa3f3WVPxd2uK28kt526BNt1J7bGMUSMy8wmlM8GQonOzOvzqbaffTR/y77cxc1zxEvJ5vR7Ysq3EQr2aWLM4HVU3USPEkrz8HT3BGEMUjdV31xLU1HOZV97CAu7/jyfQ2UleFym+SGqLsYjMp09mabNRP/9r2f4z2VYr08/q9LP9HS7lmrF2PJScATVnvEPU3XjPEco+7Lt7rZaHKXM6uEU+THEy07xe0TG/QzxMlPGRgaotr8tZePEfuJOZYFZ7+46jF23Ot6RsrIi9maq1XG3EN3jz2f4ZVXrjVk+xaBnrOfblYVbHwL+3N2vaxrAhFYcZraOuBmFEEKMjsXu/v4mHia64pi4iRdCiL0HB77j7ueO6BIpDiGE2B/ZQrUh1U54F6vjTvR5HM9S7SYnhBCiO+rKYRvwxTx/uCvPE/mLA8DMziUmw8wYya0Qe5hBYoLX+WlV09byZzjaWfi0uz6SmyZxNvXbyc3u+h8tL1S8ZvZ5wmruUKr5KmWb2jlURgJle9hyXuaNbGbnjebq2xq3zgeCGFAvXwVba3Ijnnf1F/+R5mKVAXsndvh8CHhrpulv3f2rXRXCL2N7gZYB2RNHrULqx03EmkUvyfMVxOTAY4nZmYuzsH5EZdY6RKwx9NuE2eV2wuLDW44yyWwboZk3E9YaZdbuIGFOWtZQ2kJYS5TwylIP64n1l9ZRmYiW9WWGCJO6W9LNJmK70GLlsYkwY3yWyrR2OWFB8z1ipnJ9KYfnW/K3pZbnNZnfLcT2oH+a/79HWOD8fcb5VIb1TObja4Ql27eolkl4PsP7VyqT278iZl7fmmFPBc4gbrSnM45yzbJO+jOesljgp4B/yXg2E9ZJT6e7MlmyLLHwC2I72GIOXCZhlWsXAn+eYa2qpXkAuI0wB95MLB3yQWIW7pMZ143p5kng/2ReSnt6Pzu3u3p7bHXXrs0Od9xE1X5vroVfynEd0Q6/0hL+7sQ53L00mjy9EGWyJ9K9O3GWveN/lv/Lc+cbxJI95f7qNg3PEu33+gyzvnxL6xIp5flS1sHbTDwjiln5E8D53ZZBp2fvhP7i0BiHEEK8IDzg7q8c7uJE34/j1ey8lowQQojR48AXOykN2AfGOApmdjTwh8SnYZkUZMSn41RiJvZaohvkZUR/4tQ8niD6EgeJLo0niO6bFxETdMoaQKXrqXw+zqWaRf1idh6oL/tSDBJdHY9meuYRn42bidVbtxKL483LNNXTvp5qbaCNmcaZRNfWsxnnJKr1px4nZjwfTjWhbCrRvdOf+Tkg/c4lZkhvoHqBmFGTeYa1KdOxmWqfjtKvW9JTJjVNJbpPHiQmiBlVF9ORxOSrR7KMX53pqc9gHyQmSc3IMtqefssaSCWOTZm/yZnXsibQ1iyng9q4305MSitrMM2gWnvpgFrZlxnmZf2hMkFuRs3N1Jpfo+pinES1PP00qnWg6nGRbrxDmAe0kZe1rQqlfXnN/Yasl9JFV9rBxqynUp/PExPfyqTZ+hYCRV7C315zszHLsPgbqsXVz67t4aAOZdIaTqmvEk9r/dTTUtxP2Q15u/y1lsEQsWrAXcDpxDhG3W/ZVqBeD3X5AVkuRjwbyphIva2WcigTB1dmvR3RJp1OdJVuJe6dX9TKfTJxj5VtESZnGBuI50QZl2ktg0nEc/Gf3P3f6JJ9RnEIIYTYM0z0riohhBB7GCkOIYQQjZDiEEII0QgpDrFPYWbzzezu8U7HnsTMXmRmV5rZQ2Z2r5lda2Yvz2vfN7Nnzey7w/j9n2bWurOeEB2R4hDiBcDMJo3sakziMWIy5k3ufqy7Hw98nGrPks8B7x3Gby9askeMAikOsS8y2cwWm9lyM7vazA4ys780s9vM7G4zu7Qs12FmN5nZZ83sp2b2oJm9OeXvN7Pv5Bv7CjP7HyVwMzvDzG42s5+Z2f81s0NS/mjG86/EJlq7kPF90cz+LdNycsoPM7N/yjTfkpv9YGZvMbM787jDzFqX1nkrsMPd/3cRuPud7v7jPL+eMPtsTcckQqn8xWgLWey/SHGIfZFXAJe6++uIOS9/DPwvdz/J3V9D2L3/Rs39ZHc/GfgwcFFNfiLwO8Brgd8xs3lmdgTwCWKHvTcQy8P8ac3PVnf/NXe/skP6Dnb3X810XZ6yvwLuyDR/HLgi5X8GfNDdTwTeTNjp13kNsdNcUz4ELHH3taPwK/ZzJvrquEK0Y5W7/yTP/x74f4BHzOwviElphwH3AP+cbr6Tv7cD82vhXO/uGwDM7F5iN7ZZxNabP8mPlqnEOlKFb3WRvm8CuPuPzGymmc0Cfo3Y6hN3v8HMDrfYAvknwBfM7BvEfgmruyuC4TGzFxNfRKftblhi/0SKQ+yLtM5qdWIhwF53X2Vmn2TnVUq35e8gO98T22rn5ZoBy9z9PcPE3c0SOO3SZ+3cuftnzOx7wDuBW8zs7e5+f83NPUBXm+/UeD0xs39lKr+DzGylux/XMByxn6KuKrEv8hIz+5U8fw+xYi/A0zke0fRBW+cW4E1mdhxAjp+8vGEYv5N+fw3YkF81PwL+Q8pPA5529+fM7Fh3v8vdP0t0i70y3RTlcQNwoJn9QQnczE4ys7cMF7m7f8/dX+Tu8919PrBZSkM0QV8cYl/kPmCRmf0tsSz5JcTe9HcRa4bdNtqA3b3fzN4PfNPMDkzxJ4j1ubplvZn9G7Gu0++n7JPA18xsObG206KUf9jM3kp88dwLXJfjLJbpcTN7F/BFM7uQWMfoUWK8BjP7MaFsDjGz1cTeIEsbZ1yIGlqrSog9iJndBPyZu/ftRhi/AbzM3b80ZgkTogH64hBiguHubSfzCbGnkOIQ4gXAzL4MvKlF/P+5+2njkBwhxhR1VQkhhGiErKqEEEI0QopDCCFEI6Q4hBBCNEKKQwghRCP+f7XAY5CzRZ+EAAAAAElFTkSuQmCC\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('banner_pos')['C14'].value_counts().plot(kind='bar')\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "outputs": [
    {
     "data": {
      "text/plain": "                 id    click     hour       C1  site_id  site_domain  \\\nbanner_pos                                                             \n0           7487404  7487404  7487404  7487404  7487404      7487404   \n1           2501578  2501578  2501578  2501578  2501578      2501578   \n2              3230     3230     3230     3230     3230         3230   \n3                85       85       85       85       85           85   \n4              1403     1403     1403     1403     1403         1403   \n5              3856     3856     3856     3856     3856         3856   \n7              2444     2444     2444     2444     2444         2444   \n\n            site_category   app_id  app_domain  app_category  ...  \\\nbanner_pos                                                    ...   \n0                 7487404  7487404     7487404       7487404  ...   \n1                 2501578  2501578     2501578       2501578  ...   \n2                    3230     3230        3230          3230  ...   \n3                      85       85          85            85  ...   \n4                    1403     1403        1403          1403  ...   \n5                    3856     3856        3856          3856  ...   \n7                    2444     2444        2444          2444  ...   \n\n            device_conn_type      C14      C15      C16      C17      C18  \\\nbanner_pos                                                                  \n0                    7487404  7487404  7487404  7487404  7487404  7487404   \n1                    2501578  2501578  2501578  2501578  2501578  2501578   \n2                       3230     3230     3230     3230     3230     3230   \n3                         85       85       85       85       85       85   \n4                       1403     1403     1403     1403     1403     1403   \n5                       3856     3856     3856     3856     3856     3856   \n7                       2444     2444     2444     2444     2444     2444   \n\n                C19      C20      C21  purehour  \nbanner_pos                                       \n0           7487404  7487404  7487404   7487404  \n1           2501578  2501578  2501578   2501578  \n2              3230     3230     3230      3230  \n3                85       85       85        85  \n4              1403     1403     1403      1403  \n5              3856     3856     3856      3856  \n7              2444     2444     2444      2444  \n\n[7 rows x 24 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>id</th>\n      <th>click</th>\n      <th>hour</th>\n      <th>C1</th>\n      <th>site_id</th>\n      <th>site_domain</th>\n      <th>site_category</th>\n      <th>app_id</th>\n      <th>app_domain</th>\n      <th>app_category</th>\n      <th>...</th>\n      <th>device_conn_type</th>\n      <th>C14</th>\n      <th>C15</th>\n      <th>C16</th>\n      <th>C17</th>\n      <th>C18</th>\n      <th>C19</th>\n      <th>C20</th>\n      <th>C21</th>\n      <th>purehour</th>\n    </tr>\n    <tr>\n      <th>banner_pos</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>...</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n      <td>7487404</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>...</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n      <td>2501578</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>...</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n      <td>3230</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>...</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n      <td>85</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>...</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n      <td>1403</td>\n    </tr>\n    <tr>\n      <th>5</th>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>...</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n      <td>3856</td>\n    </tr>\n    <tr>\n      <th>7</th>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>...</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n      <td>2444</td>\n    </tr>\n  </tbody>\n</table>\n<p>7 rows × 24 columns</p>\n</div>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 61
    }
   ],
   "source": [
    "train_df.groupby('banner_pos').count()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x23752dd9e08>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 51
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAErCAYAAADwstV6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de7gdVXnH8e+PhJsgJEC4lASDEgVECBBCFG0FNATQBluQUJVgsbEWqLTWGqwtXqrF1orGKi2VSLCWiHgh5RbTgOKFSw6QEkLAhIsQuQUSLoqiwNs/1jqws9nXdXbm5HB+n+eZZ89eM++sNbP3nPfMzJrZigjMzMy6tclgN8DMzIYmJxAzMyviBGJmZkWcQMzMrIgTiJmZFXECMTOzIiMHuwFV2WGHHWL8+PGD3QwzsyHlxhtvfCQixjSaNmwSyPjx4+nr6xvsZpiZDSmSft5smk9hmZlZEScQMzMr0jaBSHqNpKU1wxOSTpe0naRFklbm19F5fkmaI2mVpFskHVCzrJl5/pWSZtaUHyhpWY6ZI0m5vOs6zMysGm0TSETcERETI2IicCDwFPBdYDawOCImAIvze4AjgQl5mAWcAykZAGcCBwOTgTP7E0KeZ1ZN3LRc3lUdZmZWnW5PYR0O3BkRPwemA/Ny+TzgmDw+HbggkuuAUZJ2AY4AFkXE2ohYBywCpuVp20TEtZGe7HhB3bK6qcPMzCrSbQKZAVyYx3eKiAcA8uuOuXxX4L6amNW5rFX56gblJXWsR9IsSX2S+tasWdPFapqZWTsdJxBJmwF/CHyr3awNyqKgvKSO9Qsizo2ISRExacyYht2YzcysUDdHIEcCN0XEQ/n9Q/2njfLrw7l8NTCuJm4scH+b8rENykvqMDOzinRzI+EJvHD6CmABMBM4K79eUlN+qqT5pAvmj0fEA5IWAp+puXA+FTgjItZKelLSFOB64ETgSyV1dLEujJ99WdNp95x1dDeLMjMbljpKIJJeBrwVeH9N8VnARZJOBu4FjsvllwNHAatIPbbeC5ATxaeAJXm+T0bE2jz+AeB8YEvgijx0XYeZmVWnowQSEU8B29eVPUrqlVU/bwCnNFnOXGBug/I+YJ8G5V3XYWZm1fCd6GZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZFOkogkkZJuljS7ZJWSHq9pO0kLZK0Mr+OzvNK0hxJqyTdIumAmuXMzPOvlDSzpvxASctyzBxJyuVd12FmZtXo9Ajki8CVEbEnsB+wApgNLI6ICcDi/B7gSGBCHmYB50BKBsCZwMHAZODM/oSQ55lVEzctl3dVh5mZVadtApG0DfD7wHkAEfHbiHgMmA7My7PNA47J49OBCyK5DhglaRfgCGBRRKyNiHXAImBanrZNRFwbEQFcULesbuowM7OKdHIE8kpgDfA1STdL+qqkrYCdIuIBgPy6Y55/V+C+mvjVuaxV+eoG5RTUsR5JsyT1Sepbs2ZNB6tqZmad6iSBjAQOAM6JiP2BX/HCqaRG1KAsCspb6SgmIs6NiEkRMWnMmDFtFmlmZt3oJIGsBlZHxPX5/cWkhPJQ/2mj/PpwzfzjauLHAve3KR/boJyCOszMrCJtE0hEPAjcJ+k1uehw4DZgAdDfk2omcEkeXwCcmHtKTQEez6efFgJTJY3OF8+nAgvztCclTcm9r06sW1Y3dZiZWUVGdjjfacA3JG0G3AW8l5R8LpJ0MnAvcFye93LgKGAV8FSel4hYK+lTwJI83ycjYm0e/wBwPrAlcEUeAM7qpg4zM6tORwkkIpYCkxpMOrzBvAGc0mQ5c4G5Dcr7gH0alD/abR1mZlYN34luZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVqSjBCLpHknLJC2V1JfLtpO0SNLK/Do6l0vSHEmrJN0i6YCa5czM86+UNLOm/MC8/FU5VqV1mJlZNbo5Ajk0IiZGxKT8fjawOCImAIvze4AjgQl5mAWcAykZAGcCBwOTgTP7E0KeZ1ZN3LSSOszMrDoDOYU1HZiXx+cBx9SUXxDJdcAoSbsARwCLImJtRKwDFgHT8rRtIuLaiAjggrpldVOHmZlVpNMEEsD3Jd0oaVYu2ykiHgDIrzvm8l2B+2piV+eyVuWrG5SX1LEeSbMk9UnqW7NmTYeramZmnRjZ4XyHRMT9knYEFkm6vcW8alAWBeWtdBQTEecC5wJMmjSp3TLNzKwLHR2BRMT9+fVh4LukaxgP9Z82yq8P59lXA+NqwscC97cpH9ugnII6zMysIm0TiKStJL28fxyYCtwKLAD6e1LNBC7J4wuAE3NPqSnA4/n000JgqqTR+eL5VGBhnvakpCm599WJdcvqpg4zM6tIJ6ewdgK+m3vWjgT+OyKulLQEuEjSycC9wHF5/suBo4BVwFPAewEiYq2kTwFL8nyfjIi1efwDwPnAlsAVeQA4q5s6zMysOm0TSETcBezXoPxR4PAG5QGc0mRZc4G5Dcr7gH16UYeZmVXDd6KbmVkRJxAzMyviBGJmZkWcQMzMrIgTiJmZFXECMTOzIk4gZmZWxAnEzMyKOIGYmVkRJxAzMyviBGJmZkWcQMzMrIgTiJmZFXECMTOzIk4gZmZWxAnEzMyKOIGYmVkRJxAzMyviBGJmZkWcQMzMrIgTiJmZFek4gUgaIelmSZfm97tLul7SSknflLRZLt88v1+Vp4+vWcYZufwOSUfUlE/LZaskza4p77oOMzOrRjdHIB8EVtS8/yxwdkRMANYBJ+fyk4F1EbEHcHaeD0l7AzOA1wLTgK/kpDQC+DJwJLA3cEKet+s6zMysOh0lEEljgaOBr+b3Ag4DLs6zzAOOyePT83vy9MPz/NOB+RHxdETcDawCJudhVUTcFRG/BeYD0wvrMDOzinR6BPIF4G+B5/L77YHHIuKZ/H41sGse3xW4DyBPfzzP/3x5XUyz8pI61iNplqQ+SX1r1qzpcFXNzKwTbROIpLcBD0fEjbXFDWaNNtN6Vd6u/hcKIs6NiEkRMWnMmDENQszMrNTIDuY5BPhDSUcBWwDbkI5IRkkamY8AxgL35/lXA+OA1ZJGAtsCa2vK+9XGNCp/pKAOMzOrSNsjkIg4IyLGRsR40kXwqyLiXcDVwLF5tpnAJXl8QX5Pnn5VREQun5F7UO0OTABuAJYAE3KPq81yHQtyTLd1mJlZRTo5AmnmI8B8Sf8I3Aycl8vPA74uaRXpqGAGQEQsl3QRcBvwDHBKRDwLIOlUYCEwApgbEctL6jAzs+pouPzjPmnSpOjr63v+/fjZlzWd956zjq6iSWZmGz1JN0bEpEbTfCe6mZkVcQIxM7MiTiBmZlbECcTMzIo4gZiZWREnEDMzK+IEYmZmRZxAzMysiBOImZkVcQIxM7MiTiBmZlbECcTMzIo4gZiZWREnEDMzK+IEYmZmRZxAzMysiBOImZkVcQIxM7MiTiBmZlbECcTMzIo4gZiZWZG2CUTSFpJukPR/kpZL+kQu313S9ZJWSvqmpM1y+eb5/ao8fXzNss7I5XdIOqKmfFouWyVpdk1513WYmVk1OjkCeRo4LCL2AyYC0yRNAT4LnB0RE4B1wMl5/pOBdRGxB3B2ng9JewMzgNcC04CvSBohaQTwZeBIYG/ghDwv3dZhZmbVaZtAIvllfrtpHgI4DLg4l88Djsnj0/N78vTDJSmXz4+IpyPibmAVMDkPqyLiroj4LTAfmJ5juq3DzMwq0tE1kHyksBR4GFgE3Ak8FhHP5FlWA7vm8V2B+wDy9MeB7WvL62KalW9fUEd9u2dJ6pPUt2bNmk5W1czMOtRRAomIZyNiIjCWdMSwV6PZ8mujI4HoYXmrOtYviDg3IiZFxKQxY8Y0CDEzs1Jd9cKKiMeAHwBTgFGSRuZJY4H78/hqYBxAnr4tsLa2vC6mWfkjBXWYmVlFOumFNUbSqDy+JfAWYAVwNXBsnm0mcEkeX5Dfk6dfFRGRy2fkHlS7AxOAG4AlwITc42oz0oX2BTmm2zrMzKwiI9vPwi7AvNxbahPgooi4VNJtwHxJ/wjcDJyX5z8P+LqkVaSjghkAEbFc0kXAbcAzwCkR8SyApFOBhcAIYG5ELM/L+kg3dZiZWXXaJpCIuAXYv0H5XaTrIfXlvwGOa7KsTwOfblB+OXB5L+owM7Nq+E50MzMr4gRiZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZFnEDMzKyIE4iZmRVxAjEzsyKdPM7dbKMyfvZlTafdc9bRFbbEbHjzEYiZmRVxAjEzsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZF2iYQSeMkXS1phaTlkj6Yy7eTtEjSyvw6OpdL0hxJqyTdIumAmmXNzPOvlDSzpvxASctyzBxJKq3DzMyq0ckRyDPAhyJiL2AKcIqkvYHZwOKImAAszu8BjgQm5GEWcA6kZACcCRwMTAbO7E8IeZ5ZNXHTcnlXdZiZWXXaJpCIeCAibsrjTwIrgF2B6cC8PNs84Jg8Ph24IJLrgFGSdgGOABZFxNqIWAcsAqbladtExLUREcAFdcvqpg4zM6tIV9dAJI0H9geuB3aKiAcgJRlgxzzbrsB9NWGrc1mr8tUNyimoo769syT1Sepbs2ZNN6tqZmZtdJxAJG0NfBs4PSKeaDVrg7IoKG/ZnE5iIuLciJgUEZPGjBnTZpFmZtaNjhKIpE1JyeMbEfGdXPxQ/2mj/PpwLl8NjKsJHwvc36Z8bIPykjrMzKwinfTCEnAesCIiPl8zaQHQ35NqJnBJTfmJuafUFODxfPppITBV0uh88XwqsDBPe1LSlFzXiXXL6qYOMzOrSCePcz8EeA+wTNLSXPZR4CzgIkknA/cCx+VplwNHAauAp4D3AkTEWkmfApbk+T4ZEWvz+AeA84EtgSvyQLd1mJlZddomkIj4MY2vOQAc3mD+AE5psqy5wNwG5X3APg3KH+22DjMzq4bvRDczsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr4gRiZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVsQJxMzMijiBmJlZEScQMzMr0jaBSJor6WFJt9aUbSdpkaSV+XV0LpekOZJWSbpF0gE1MTPz/CslzawpP1DSshwzR5JK6zAzs+p0cgRyPjCtrmw2sDgiJgCL83uAI4EJeZgFnAMpGQBnAgcDk4Ez+xNCnmdWTdy0kjrMzKxabRNIRFwDrK0rng7My+PzgGNqyi+I5DpglKRdgCOARRGxNiLWAYuAaXnaNhFxbUQEcEHdsrqpw8zMKlR6DWSniHgAIL/umMt3Be6rmW91LmtVvrpBeUkdLyJplqQ+SX1r1qzpagXNzKy1Xl9EV4OyKCgvqePFhRHnRsSkiJg0ZsyYNos1M7NulCaQh/pPG+XXh3P5amBczXxjgfvblI9tUF5Sh5mZVag0gSwA+ntSzQQuqSk/MfeUmgI8nk8/LQSmShqdL55PBRbmaU9KmpJ7X51Yt6xu6jAzswqNbDeDpAuBNwM7SFpN6k11FnCRpJOBe4Hj8uyXA0cBq4CngPcCRMRaSZ8CluT5PhkR/RfmP0Dq6bUlcEUe6LYOMzOrVtsEEhEnNJl0eIN5AzilyXLmAnMblPcB+zQof7TbOszMrDq+E93MzIo4gZiZWREnEDMzK+IEYmZmRZxAzMysiBOImZkVcQIxM7MiTiBmZlbECcTMzIo4gZiZWZG2jzKx9Y2ffVnD8nvOOrrilpiZDS4fgZiZWREnEDMzK+IEYmZmRZxAzMysiBOImZkVcQIxM7MiTiBmZlbECcTMzIo4gZiZWREnEDMzKzJkH2UiaRrwRWAE8NWIOGuQm9RUs8efgB+BUiV/Dma9NSSPQCSNAL4MHAnsDZwgae/BbZWZ2fAyJBMIMBlYFRF3RcRvgfnA9EFuk5nZsKKIGOw2dE3SscC0iHhffv8e4OCIOLVuvlnArPz2NcAdTRa5A/BIQVMc57gNHTcU2ui4l3bcKyJiTMMpETHkBuA40nWP/vfvAb40gOX1Oc5xG2PcUGij44Zv3FA9hbUaGFfzfixw/yC1xcxsWBqqCWQJMEHS7pI2A2YACwa5TWZmw8qQ7MYbEc9IOhVYSOrGOzcilg9gkec6znEbadxQaKPjhmnckLyIbmZmg2+onsIyM7NB5gRiZmZFnEDMzKzIkLyI3guSNgH2A34P+DWwPCIe6jB2dE3cPRHxXJv5JwFvqom5FfjfiFjbJm5H4JC6uL529RW2cQvgbQ3aeVm7Dgql7awyboDrV/r5FX3Hqvy+DHC7lK7fRr9dqq6vyu+YpLGknqsv+syBKzr5+/L8sobbRXRJrwI+ArwFWAmsAbYAXg08BfwHMK9+I0raFjgFOAHYrCZuJ+A64CsRcXVdzEnAXwJ3AzcCD9fUdQjpQ/v7iLi3Lu5QYDawHXBzXdyrgIuBf42IJwbaxhz3ceDtwA8atPPQPP6hiLilR+2sOq50/U6i7PMr/Y6V1lf1dildv6GyXSqrbxC+Y18DdgUuBfp48Wd+IDA7Iq6hEyV3Hw7lAbgQ+H1y8qybtiNwOjCzwbRFpDveRzWYdiDwBeDkuvJTgC1btGUicHiD8n8BdmsSMxI4BvjjXrQxTzu6zTbbEZjUw3ZWHVe6fqWfX+l3rOrvS+l2KV2/obJdKqtvEL5j+7T5zDcD9mg1T+0w7I5ArDOSdoyIhwe7HWa2YUk6ICJuKoodjglE0p6kp/fuCgTpMSgLImJFm7htgWl1cQsj4rEm878D+GFErJU0BvhXYH/gNtKpgdVN4rYDTs3LPw/4KPB6YAXwmYhY16s21tS3XhHpcHp/0nek6XlYSUeQ/rOqre+SiLiyTX2l61dS36nA/Ih4RNIewFxgX9LDNd8XEcuaxL0S+HvgF8BZwNk17fxwRNzTos6uv2OSRgInA+8gnZt+fv2A8yLidy1iK9supetXGle6H+XYku0ykM+9q/oG4Tt2QH0R6fv1dtK+3lUiGXYJRNJHSNcI5pOeqQXpWVozSDtTwx+mknQicCbwfdKH3R/3VuATEXFBg5jbImLvPP5N0nWIb5HOW74rIt7apK7LgWXANsBeefyiXNd+EdHw0fUlbcxxzwE/ryseS9o+ERGvbBL3BdK50wtYf1ueCKyMiA/2eP1K61seEa/N45eRHsT5XUlvBj4dEYc0ibuGdKpgW+DdwNdyO6eSPr/DmsSVfscuBB4D5tXFzQS2i4jjm8RVvV1K1680rnQ/Kt0upZ971/UNwnfsOdL2e7qmeEoui2b1NdXpua6XygD8DNi0QflmpA+5WdwdNL62MBr4WbOYmvEb66YtbVHX0vwq4BddxHXdxjz9b4ArgdfVlN3dybZsUq4227J0/Urrq/0cltRNu6VF3M014/c2m9bL71i36z5I26V0/Qa8Xbrcj0q3S/Hn3m19g/AdOxb4IXBUTdndzeZvNwzH+0CeI50eqLdLntaMSIeJjZanJjE/kPRJSVvm8WPg+d4aj7eoa5PcDXccsLWk8Tlue9IXpJdtJCI+B7wP+AdJn5f08ibLqfcbSZMblB8E/KZFXOn6ldZ3saTz8+mC70o6XdJukt4L3Nsi7jlJr5Z0EPCy3NWSfLpnRKs4yr5j6yQdl7tmkuvaRNLxQNPTegzCdqFs/UrjSvej0u1S+rmX1FfpdywiLgaOBt4q6VuSdqOzfb2h4XgfyOnAYkkrgfty2W7AHqTz8s18GrhJ0vfr4t4KfKpJzKnA3/HCD1n9laRfAf9D6i3VzD8Bt+fxPwW+KilIP9/7iR63EYBI55GPk/R2Um+ul7WaPzsJOCcnnP7D6HHAE3laM43WD9LprFbrV1RfRPxd7i55Iak75eakHxr7HvCuFvX9Lemzeo50XvsMSfuRTr39WYu40u/YDOCzwFck9SeMUcDVeVozJ1Htdildv9K40v3oJMq+n6Wfe0l9VX/HiIhfkrbhRNLp0q1bzd/KsLsGAs/ffDOZdPFJpA97SUQ82yZuNHBEXdzCaHHRtyZ2W2BkRDzaYRtHkD6fZ/LF1Ymk0z0PbKg21ixjS+BVEXFrh/PvXFtfRDzYQUzR+pXW1yuSdgDWdfBdKfqO1cRvT9o+Hf+6XJXbZQD70EC3S1f7UY4Z8Hbp9HPvRX1VfcfyMgS8POruhek4fjgmkIGQtBM1vR6iw7vXGyxnz4i4vc08m0ZdzxtJO7T6oyJpZEQ8k8e3BvYE7or2d7TuSVqv6/N/KP3l06JFj5WSdir9hsvvov8EcToVcQBwW0Rc0aqukvraLOutEbGoxfRtgDERcWdd+b5Rd4Nd3XTxws7d30Pmhmizw5XWl+epbLtsLDbgflTJ55BPIT0cEb/J35mTSPvCclKnhmda1LMb8EREPJZPA08CVkT7JwgcQbrgvjhqenlJ+tOImNsq9kVKL54M1YHUTfE60mHfucDommk3tIibmONWkE7x/C/pNMx1wAEF7bi3xbRDSf9NrCH1qBpfM+2mFnEnAY+SLrAdCdwFLM7rekKLuL8knR74HnAPML3D+krb+X/92x34MPBT4GN5u/5Tr+sbwOfwTtIf/qWkHfqgDtdvKrAKuAL4ah6uzGVTN0B9VW+X0n2oKG4A7Sz9flb2OZDuNH9ZHv8s6W71d5O6VM9tUdds0t3rt5OuX95O6hK/HPjrFnGfAa4h3VR8J3DaQL4rXX9gQ30Afky6T2IUqffRctLpGmjd62EpcHCD8inA/zWJmdNk+BLpP4dmdS0BXpvHjyU9qmBKB21cBuwA7E4679q/XjvRulfNMmDrPD6e9IiDD3ZQX2k7b60Z7yPfiUu6JteqnaX1LWgy/A/wqzaf+S55fHLeSf+og/pW1P7xqCnfnfQfYq/rq3q7lO5DpXFV70eVfQ6ko+7+8RuBTWreN/y7kqctB7YEtgeeJB0tAWxFzf7VIG4Z6RQg+XO4HDi73bo1G4bjRfSt44VTMp+TdCNwpaT30Lo3wlYRcX19YURcJ2mrJjHvBT7E+n2u+53Qoq7NIh+GRsTFklYA35E0u00bn410mPyIpF9GPvyOiIfyRepmRkQ+bRUR9yjdB3CxpFfQovfWANr5hKR9Il1jeYT0LJ5fkxJIq56BpfW9ifRf3S/ryvtPMzUzIvI1mYi4IZ9qu1TpYXSt6hvJCxdRa/0C2HQD1Ff1dindh0rjqt6Pqvwc7pN0WERcRTr6Hwf8PF8Da+XZiPi1pN+S9p1Hc72/arOvP3+KO9Kpr7cD50r6Fq17QDbWbcYZ6gPp9Mm2dWX7kv5beLRF3BzS0yqPB96Qh+Nz2b81ibkKeEOTaXe3qKsP2LmubCzpP6MnW8QtIPVw+rdc97+SHsh2JulCerO4q4CJdWUjSTdEPbsB2rlv/hwuyMOdpEP2PuBPNkB9VwCHNpl2TYu4n5L/Q64peznptODTLeLOID1M7yPAn+ThI7nsjA1QX9XbpXQfKo2rej+q7HMgJYyrSaeV/ofUXfuq/F150TOwauLOB/6bdBf5hcDXST3nzgMuahF3KfAHDcr/EXiuWVzT5XUbMNSHvDNPaVC+G/CfbWKPAv49f9CX5vGjWsy/Hfn8ZpdtfAvpjuz68m2Bv2sRt03+4zWb1DXvj3M7v0w+JG8SN7b+i18z7ZBetzPPM4J0neaDpP8uj6fBTZAd1jeqXX2F35X9gAkNyjcl3SXcKnbv/Dl8iZTQZwN7d1Dfix5k166+QdguRfvQAOJ6vR+13C6ln/tAPgdSF/bpeZ89mJpTWU3mH0k6+pqRx9+Qv2d/Szpb0ixuS5o8vBHYtdtt7F5YL3Hq8KGIpb2GzGzjoA4fiqiC5+U1M+zuRJe0s6RzJH1Z0vaSPi5pmaSLJO3SZdwtreIkbSPpnyR9XdKf1E37Sou6bpL0MaVn/nezbtvVD8ANkkbrxQ9MrI2bSjqN8HHSUdbRpBv6VuZpXZPUtDvuANZvT0lXSLpM0quU7qJ+TNINkvZqETdO0nxJP5L0UUmb1kz7Xou4tZK+KulwtTmx3It2tllmywcbVrxderkPdRJXuh+VbpfKPvcB1HVA/QAskLS/XvzAxNq4E4GbgDeTbhbeitR77MY8rTu9Przd2AdSd8rTSKcUbiGdm94tl13Syzjg26QnbB5Duj7xbWDzPK1Vd8C7gc+RHidxA/BXwO91sG7P5dja4Xf59a4WcaW9hg5oMhwIPLAB1u8a0lNDTyA9/HEG6YLv20l92pvFLQL+nNQV+0ukc9zb52mtetXcQbqr9yekC+BfpMEpmB6284+aDH8MrNmItktl+9AA96PS7VLZ5z6Aup7Ln9fVNcOv8+tVbdat6+flNV1etwFDfaD1w8taPZit67j6ctLjGH5C6nrX6ot/U834m4CvAA/mL8esFnGlD0VcSe7aV1e+GbCqRdyzpAt+VzcYfr0B1q/2M1jVbJkdfA7vJnch7eJz2I10fvkm0v01n9kA7fwd6eLo1xoMrS76Vr1dKtuHmrSz0/2odLtU9rkPoK6ihyKS7hHbtkH5trR4CGOzYTh24609bVf/ePNWp/RK4jaXtEnkn5WMiE9LWk36T6Wj589ExI+AH0k6jfRMq+NJN2E1mvdzkuYDZ0u6j9T7qpNrGHOBJTm2/7k640j/QZ3XIm4F8P6IWFk/IdffVjfrx/oPl/t83bRWXRA3lbRFRPwm1/lfkh4EFpIO4Zt5/pRCpJ8U/WfgnyW9htbPpipt5y3A56LBI2QkvWUD1Fe6Xarch6B8PyrdLlV+7kV1ReomfCXwKaWHX36Izvb14uflNWvIsBqAT5Jvmqsr3wO4uJXR/dwAAAkQSURBVJdxpC/DWxqUT6P1I5fn92A930666/fBDuffi+57DR0LvKbJtGN6vX7A+1t8Bl9oEfdXNO66uD+wqEXc5ytu55to/pOoL/pp2UHcLpXtQ3l66X5Uul0q+9xL66pbxkTS0fvDHc4/mpScPkQ6azGDmqcCdDO4F9ZLmLp8KKKZDU35AnzxQxFLDbteWMNJRPx6oMmjVW8qM9s4RDKg5NGqp18zw/EaiNVp0e1PpMNjM3sJkPRHzSYBO3e7PCcQg/QQuB/S+LlXoypui5ltON8EvkHjC+5bdLswXwPJlH5K8oGI+MWGjquyrk7iJN0KvCOa9KaKiHEbQztbxE0ndRZ40cMuHVdp3Eb1vW4Rt9Fvzw1Vl9IDLGc2OrVdsq/7COQFpwH7SvpZRBy/geOqrKuTuI/T/HrYaV3U02l9vY47GHid0o9pHem4QYvb2L7XzQyF7bmh6jqd9FMPjbyji3oAH4G8iKSXR8STVcRVWddA4koNlXZab73Uv9f2gmGZQFT4MLGSuCrrGkhcqY2lnSr8CdaXSpzKf3q3NG5ngIh4UNIY0j0sd0Sbn1NtsJzPRMRHu4kpjZO0O+kel9uizc/glsRJ+kPg+5FvzOxw2V3HDCSu14ZdN97Sh4mVxFVZ10DiSm1k7Wx1x/xLOk7SO0m/mvdtScslHVQz+fwNEPd+4FrgOkkfIP1kwNtIP550cou4OXXDl4C/6H+/AeK+VzM+nfTYnbeTHjp4Uq/jSBeoVys99PEoSSNazDuQmIHE9dSwOwKRdAfpp2kfqysfDVwfEa/uVVyVdQ0krtQgrN+CZk0BDouIho/fGAZxS4EjI+IBSZNJjwn5aER8R9LNEbF/j+OWkc61b0l6aOAe+UhkNHB1RDTs+q30+JEfkH4vvL/H3+dId0MTEfN6HPf8Okj6Kem3PO6WtAPp4Yb79ToOOIz0hIYZwD7Ad4ELI+KHvYoZSFyvDceL6KJxF7bnaNyNdSBxVdY1kLjGC2vfy6Xqdpb+BOtLPa70J1hL434XEU8BT0m6MyIezMtYJ6lV3F6k5y1NAz4cEb+QdGazBNCDuNq2jIyIu3M7H5H03IaIi4h1wH8C/5lP870TOEvS2CY9nEpiBhLXkAp7fQ3HBFL6MLGSuCrrGkhcM+16uVTdzuuApxr9h5WPaoZr3JOSXtV/HSMfUbwZ+B7w2g0Q95ykTSPid6Tfjulv4xa0OC2eL3SfLulA4L8kXdZq/oHGAftJeoKUgDeXtHM+UtqM9R982Ku49f75yYl1DjBH0it6GDOQuGaKen0Nu1NY8PypkiNIF3AFrCZdwF3X67gq6xpIXJtlNu3lsjG1c7iStB8p8aysK98UeGdEfKPHcbsB90fEM3XluwJ7RcT/dtBmAX8BvD4i3t1u/oHG1S1jVG7ntb2Mk/TmiPhBl8vsOmYgcb027BKIJEWblW40T0lclXUNJC6Xl/QwGxLr5zjHbaxxg9DGnvbeGna9sICrJZ2W/4t6nqTNJB0maR4ws0dxVdZVHKfyXlFDYv0c57iNOK7qNva291YM8Fn0Q20gPe/lL0i/aHY/cBvpJ1Z/TrogNbFXcVXWNcC4op+53EjW7y7HDem4Yf19GYQ23kzar/8MWAw8BPw7DX4XppNh2J3CqqV0rncH0s+vdnwDW0lclXV1GyfpZ8BBEfF4Xfm2QF9ETNgY2uk4x72U4yra12+KiANq3vf33joB6L731nBOIJZImgn8A6mf/Yt6RUXE+YPUNDPrIbW+v+cVEfHzrpbnBGLgXlFmw4F63HvLCcQG1HvLzIaOXu/rw7EXlr1YaY8OMxtaerqv+wjE+u8g/lPgXcDuwGOk5xxtQrou8uWIWDp4LTSzXmiyr29BusO+633dCcTWU9oTxMyGll7s604gZmZWxNdAzMysiBOImZkVcQIxM7MiTiA2LEgaL+nWwW5HlSTtLGm+pDsl3SbpckmvztOulPSYpEvrYs6XdLekpXlo+OuCZjA8f1DKbNBIGhERz1ZQj0g/cTovImbksonATsDPgH8hPXn5/Q3CPxwRF2/oNtrQ5yMQG05GSpon6RZJF0t6maR/kLRE0q2Szs1/eJH0A0mflXSDpJ9JelMuP0nSd/J/8Csl/XP/wiVNlXStpJskfUvS1rn8nlzPj4HjGjUs1/cFST/NbZmcy7eT9L3c5usk7ZvL/6DmKOFmSS+vW+ShpJ+e/ff+gohYGhE/yuOLgYY/EmbWKScQG05eA5wbEfsCT5Aeh/1vEXFQROxDunnybTXzj4yIycDpwJk15ROB44HXAcdLGidpB+BjwFvy0077gL+uiflNRLwxIua3aN9WEfGG3K65uewTwM25zR8FLsjlfwOcEhETSb+l/uu6Ze0D3NhmezTz6Zywzpa0eeEybBhwArHh5L6I+Eke/y/gjcChkq6XtAw4jPV/C/w7+fVGYHxN+eKIeDzSr7rdBrwCmALsDfxE0lLS4yBqf5v6mx2070KAiLgG2EbpJ1TfCHw9l18FbJ8fs/8T4POS/pL0Wy7PNFlmt84A9gQOArYDPtKj5dpLkBOIDSf1d80G8BXg2Ih4HemHeLaomf50fn2W9a8XPl0z3j9NwKKImJiHvSPi5Jr5flXYPjWaLyLOAt5HOmq6TtKedfMsBw7soM76BT8QydPA14DJ3S7Dhg8nEBtOdpP0+jx+AvDjPP5Ivl5x7ACWfR1wiKQ9APL1lVd3uYzjc+wbgcfzD3xdQ3puEZLeDDwSEU9IelVELIuIz5JOl+2Z57k9L+sqYHNJf9a/cEkHSfqDVg2QtEt+FXAMMKx6rll33AvLhpMVwExJ/wGsBM4h/bznMuAeYEnpgiNijaSTgAtrrht8jNTjqVPrJP0U2Ib0wDuAjwNfk3QL8BQvPCn1dEmHko6AbgOuyNdhlNsTkt4BfEHSbOA3pHU8HUDSj0hJZ2tJq4GTI2Ih8A1JY/JylgJ/3tWGsGHFz8Iy2whI+gHwNxHRN4BlvA14ZUTM6VnDzFrwEYjZS0REXNp+LrPecQIxq5CkLwOH1BV/MSLePAjNMRsQn8IyM7Mi7oVlZmZFnEDMzKyIE4iZmRVxAjEzsyJOIGZmVuT/AbExBI6PSPjCAAAAAElFTkSuQmCC\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('banner_pos')['C15'].value_counts().plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x2375e737b48>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 52
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('banner_pos')['C16'].value_counts().plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x2375e868688>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 53
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('banner_pos')['C17'].value_counts().plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x2375e868388>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 54
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('banner_pos')['C18'].value_counts().plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x237600b3348>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 55
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('banner_pos')['C19'].value_counts().plot(kind='bar')\n",
    "                   "
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x2376041a948>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 56
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('banner_pos')['C20'].value_counts().plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x237608f5148>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 57
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "    \n",
    "train_df.groupby('banner_pos')['C21'].value_counts().plot(kind='bar')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "14,17,21 非常像\n",
    "而15,16两个就是一个"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x2376150f9c8>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 58
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(x='C14',data=train_df)\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "name": "python3",
   "language": "python",
   "display_name": "Python 3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "source": [],
    "metadata": {
     "collapsed": false
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}